跳转至

微服务

微服务可以指一种通过多个小型服务组合来构建单个应用的架构风格,也可以指构成该应用的各个小型服务,即一些协同工作、小而自治的服务。 微服务架构具有技术异构、故障隔离、敏捷开发、独立部署,弹性扩缩、代码可复用等优势,因此越来越多的企业开始采用微服务架构开发应用。 但是,随着业务的不断扩展,业务逻辑越来越复杂,微服务的数量呈现出爆发式增长的态势。错综复杂的服务间调用关系、依赖关系影响着整个应用的稳定性和可用性,大大增加了运维的成本。因此,微服务治理工具应运而生。

  • 传统微服务

    传统微服务指基于传统的微服务注册中心发展而来的微服务治理模式和技术体系。 传统的微服务框架主要有 Spring Cloud、Dubbo 等,传统的注册中心主要有 Eureka、Nacos、Zookeeper、Consul、etcd 等。

  • 云原生微服务

    云原生微服务指基于 Kubernetes 发展而来的跨技术栈微服务治理模式,自无框架以来逐步向服务网格发展。 这种模式使用云原生的框架(如 Kubernetes、Istio、Linkered),云原生的注册中心(如 Kubernetes 注册中心和 Mesh 注册中心)和云原生的网关(如 Nginx、Envoy、Contour)。

  • 微服务框架

    微服务框架可以分为侵入式和非侵入式两种。侵入式框架以 Spring Cloud 和 Dubbo 为代表,需要对旧代码进行改造。 非侵入式框架以 Istio 和 Linkerd 为代表,在原有基础上加入边车和服务网格,无需更改旧代码。

  • Spring Cloud 框架

    Spring Cloud 是一款基于 Spring Boot 的微服务框架。 Spring Cloud 将市面上成熟的、经过验证的微服务框架整合起来,在 Spring Boot 的基础上进行再封装,屏蔽复杂的配置和实现原理, 最终为开发人员提供了一套简单易懂、易部署和易维护的分布式系统开发工具包。 Spring Cloud 包括 Spring Cloud Config、Spring Cloud Bus 等 20 多个子项目,提供了服务治理、服务网关、智能路由、负载均衡、熔断器、监控跟踪、分布式消息队列、配置管理等领域的解决方案。

  • Dubbo 框架

    Apache Dubbo 微服务开发框架提供了 RPC 通信与微服务治理两大关键能力。 这意味着,使用 Dubbo 开发的微服务将具备相互之间的远程发现与通信能力。 同时,利用 Dubbo 丰富的服务治理能力,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。 Dubbo 是高度可扩展的,用户几乎可以在任意功能点去定制自己的实现,从而改变框架的默认行为以满足自己的业务需求。 Dubbo 目前支持 Consul、Nacos、ZooKeeper、Redis 等多种开源组件作为注册中心。

评论