微服务是什么

微服务是一种分布式架构的系统,通常依赖于一种固定的微服务架构,制定统一的通信方式和协议,通过独立化的服务形式,实现服务化的通信模式和独立进程的部署方式。因此微服务要求服务间通信实现自动寻址,要求分布式部署实现可扩缩容,要求运行实例配置保持一致,要求服务运行状态保持健康,但是对于服务开发语言和实现方式不做限制。

微服务架构的优缺点

微服务与传统单体架构对比的优势

  • 异构性,微服务对于开发技术、开发语言、实现方式不做限制,因此可以更加包容和灵活。
  • 隔离性,独立运行的微服务,更能保持业务的整体活性,一个服务的故障不会影响所有功能的使用。
  • 扩展性,分布式的微服务系统,无论是在横向扩容,还是业务扩张,都可以更好的支持。
  • 简易性,相比于超大的单体服务,微服务的部署已经资源的管理更有优势。
  • 敏捷性,独立维护的微服务,在部分模块或服务优化升级时,不需要再做全部模块的重构和测试。
  • 易管理,独立的微服务模块,相应的研发团队也可以独立,在开发和设计上更加专业。


微服务架构和分布式架构的区别

通常微服务架构都是分布式架构的,目前微服务架构也是解决分布式问题的最优方案,但是分布式架构却不一定是微服务架构的,微服务中的服务更加专注于服务专业化和精细分工,而分布式只强调分散化。比如分布式存储、分布式数据库、分布式缓存,在功能组件上通常是分布式架构的舞台,而在上层服务提供、业务分工上通常是微服务架构的舞台。

微服务与容器

微服务与容器可说是相辅相成,完美的融合。微服务注重的是应用层,细粒度的服务管理和运行;而容器关注的是资源层面,服务资源调度、分配、快速启停。因此两者的结合,是从资源到运维、到运行的完整解决方案。但是本质上微服务与容器却并没有依赖关系,没有容器的环境微服务依然可以运行,容器的环境中也不一定全部承载微服务的系统。

企业为什么需要采用微服务架构

当下企业多数在实行数字化转型,在架构层面通常采用微服务架构,主要是因为原有或单体或SOA架构的腐化。一个企业中运行的业务系统不是一成不变的,而是不断增加、扩充和变革的,甚至需要敏捷的开发模式,不断地支持业务变化的,因此固定的、腐化的架构模式将不能支持需要不停变更、上线的新的业务需求,因此采用更加灵活的、支持敏捷化的微服务架构。

企业如何实现微服务转型

企业微服务转型,主要把握一个大的方向,首先是树立企业级建设的整体目标,制定统一的微服务架构(异构系统极难统一管理),规定通信协议和报文标准,保证通信质量;其次规范组件使用,统一建设治理组件,以防止组件过多浪费资源且难以管理;最后,制定访问控制策略,通过嵌入SDK或其他形式,控制访问的黑白名单。


具体的建设请参考系列文章


  1. 农商行数字化转型的烦恼
  2. 微服务转型的三大误区,避坑指南
  3. 瞎干,就完了!迈好微服务化的第一步
  4. 理念指导实践,厘清微服务建设的主要内容和顺序
  5. 五行合一,微服务运行态建设的内功心法
  6. 想做好微服务,这个核心对象要管好
  7. 2021值得考虑的一类新型微服务架构:ServiceMesh
  8. ESB老旧力不能支,微服务独立自治强势替代
  9. APIESB ServiceMesh、微服务究竟关系如何?




微服务平台是什么

微服务平台包括微服务管理、微服务运行观测、微服务配置管理下发、微服务开发工程模板,以及微服务运行调试、故障定位等,主要用于微服务全生命周期的管理。其中涉及微服务治理所需组件:注册中心、配置中心、监控组件、网关组件等,也需要微服务平台做统一的管理。

微服务平台有哪些功能

微服务平台应该包括几个方面的功能:

  • 微服务管理:多层级应用服务管理目录、服务发布部署、服务启停
  • 微服务运行观测:微服务运行性能监控、服务关系拓扑图、调用链路追踪、链路日志展示
  • 微服务配置管理:微服务配置参数管理、配置下发热生效、配置发布回滚、灰度配置
  • 微服务开发工程:前后端微服务开发工程模板、java开发脚手架
  • 微服务在线调试:在线debug、线程观测、代码查看等
  • 微服务组件管理:注册中心、配置中心、网关等组件的添加、维护

服务网格

服务网格是什么?什么是边车

服务网格是一种通过边车代理封装其流量的一种微服务架构模式,将用于服务治理的服务注册、流量控制、链路追踪、性能监控等功能,通过边车控制和收集。边车是独立运行的一个服务代理工具,通过截流的方式代理服务的全部出入口流量,从而通过代理流量的方式实现寻址、负载计算、流量治理等功能。

Copyright ⓒ 2022 苏州博纳讯动软件有限公司 国徽 苏ICP备13004761号 法律声明及隐私政策