微服务、微服务核心基础以及常见的微服务框架

微服务、微服务核心基础以及常见的微服务框架

背景

微服务越来越多地用于开发领域,因为开发人员致力于创建更大,更复杂的应用程序,这些应用程序作为小型服务的组合得到更好的开发和管理,这些服务可以协同工作,实现更大的应用程序范围的功能。工具正在上升,以满足使用逐件方法思考和构建应用程序的需要,坦率地说,这比一次性考虑整个应用程序更不令人难以置信。(DZone,Java微服务

什么是微服务?

微服务是一种面向服务的架构风格(Java开发人员最重要的技能之一),其中应用程序构建为不同的小型服务而不是整个应用程序的集合。您可以使用不同的编码或编程语言创建多个独立的应用程序,而不是单一的应用程序,这些应用程序可以独立运行。大而复杂的应用程序可以由更简单和独立的程序组成,这些程序可以自己执行。这些较小的程序组合在一起,以提供大型单片应用程序的所有功能。(DZone,Java微服务

微服务有什么好处?

使用微服务有几个好处。首先,因为这些较小的应用程序不依赖于相同的编码语言,所以开发人员可以使用他们最熟悉的编程语言。这有助于开发人员以更低的成本和更少的错误更快地提出程序。敏捷性和低成本也可以来自能够在其他项目上重用这些较小的程序,从而提高效率。(DZone,Java微服务

微服务核心基础

微服务核心知识:网关、服务发现注册(注册中心)、配置中心、链路追踪、负载均衡器、熔断。

  1. 网关:路由转发 + 过滤器
  2. 服务注册中心:调用方(调用其他服务信息的角色服务)和被调用方(被其他服务调用信息的角色服务)的信息维护。(每个服务可以是调用方也可能是被调用方)
  3. 配置中心:管理配置,动态更新配置,这样在更变业务服务的配置的时候只需要更新配置中心,便可动态更新业务服务配置。
  4. 链路追踪:分析调用链路耗时。单个业务可能涉及到多个服务间的信息调用,链路追踪可以分析服务间调用时候的耗时。(链路:服务间调用路线)
  5. 负载均衡器:服务负载过大,分发负载。
  6. 熔断:保护自己和被调用方。当被调用方遇到意外情况,比如挂掉了。调用方调用时长时间没有响应,这样调用方便不再调用,防止调用方调用时一直处于请求状态,系统卡死。
常见的微服务框架

概念:
consumer :调用方
provider:被调用方
一个接口一般都会充当两个角色(但不是同时充当)

框架1.dubbo:zookeeper + dubbo + springmvc/springboot
通讯方式:rpc(相对于http效率更高)HTTP和RPC的优缺点
注册中心:zookeeper/redis
配置中心:diamond

框架2:springcloud :全家桶+嵌入式第三方组件
通讯方式:http restful
注册中心:eruka/consul
配置中心:config
网关:zuul
分布式追踪系统:sleuth+zipkin

Dubbo 使用的通信方式是rpd,连接速度快。(电商系统,秒杀活动居多的建议使用),缺点组件提供不足,需要自己摸索(需要人员和经济)。
Springcloud 通信方式是http,需要进行3次握手,所以连接数据较慢(并发量少的推荐使用),优点组件齐全(我们后期使用)。
在这里插入图片描述
上面是我个人了解的知识点,内容不是很详细,理解有问题的的一定要指正!

猜你喜欢

转载自blog.csdn.net/qq_31142237/article/details/89791789
今日推荐