微服务框架/配置中心/注册中心

一、微服务框架: 1.Dubbo 基于Java的高性能 RPC 分布式服务框架   2.Spring Cloud “全家桶”,因其具备微服务架构体系中所需的各个服务组件, 比如服务注册发现(如Spring Cloud Eureka、Zookeeper、Consul)、API网关路由服务(Spring Cloud Zuul),客户端负载均衡(Spring Cloud Ribbon,Zuul默认集成了Ribbon)、服务容错保护(Spring Cloud Hystrix),消息总线 (Spring Cloud Bus)、分布式配置中心(Spring Cloud Config)、消息驱动的微服务(Spring Cloud Stream)、分布式链路跟踪服务(Spring Cloud Sleuth)。   3.比较 使用Dubbo构建的微服务架构就像组装电脑,各个环节的可选自由度很高,但是最终结果很有可能因为一条内存质量不行就点不亮了,但是如果是一个高手,这一切都不存在问题; 使用Spring Cloud就像品牌机,在Spring Source的整合下,做了大量兼容性的测试,保证了机器拥有更高的稳定性,但是如果要在使用非原装组件外配件时,需要对配件足够的了解。  
二、配置中心 1.原理 a.配置实时生效: 传统的静态配置方式要想修改某个配置只能修改之后重新发布应用,要实现动态性,可以选择使用数据库或配置文件; 配置中心专门针对这个业务场景,兼顾实时性和一致性来管理动态配置。 b.配置管理流程: 配置的权限管控、灰度发布、版本管理&回滚、配置格式检验、安全配置、多环境、多集群等一系列的配置管理。   2.主流分布式配置中心框架: Spring Cloud Config 依赖git,存储在git Apollo 携程开源的配置管理中心,存储在mysql Nacos 阿里开源,存储在mysql  
三、注册中心 1.原理: a.注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。 在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就这里找到服务的地址,进行调用。 服务提供者、服务消费者、注册中心 各个微服务在启动时,将自己的网络地址等信息注册到注册中心,注册中心存储这些数据。 服务消费者从注册中心查询服务提供者的地址,并通过该地址调用服务提供者的接口。 微服务网络地址发送变化(例如实例增加或IP变动等)时,会重新注册到注册中心。这样,服务消费者就无需人工修改提供者的网络地址了。 服务的注册与发现:服务注册是指微服务在启动时,将自己的信息注册到注册中心的过程;服务发现是指查询可用的微服务列表及网络地址的机制。   b.注册中心解决了服务之间的自动发现。 在没有注册中心时候,服务间调用需要知道被调方的地址或者代理地址。当服务更换部署地址,就不得不修改调用当中指定的地址或者修改代理配置。 而有了注册中心之后,每个服务在调用别人的时候只需要知道服务名称就好,修改地址都会通过注册中心同步过来。   2.主流分布式注册中心框架: Eureka AP Zookeeper CP Nacos AP   补充: CAP原则:指的是在一个分布式系统中, 一致性(Consistency) 写操作之后的读操作,必须返回该值 可用性(Availability) 只要收到用户的请求,服务器就必须给出回应。 分区容错性(Partition tolerance) 大多数分布式系统都分布在多个子网络。每个子网络就叫做一个区,区间通信可能失败 这三个要素最多只能同时实现两点,不可能三者兼顾。  
四、API网关路由服务 1.作用 主要是限流、认证鉴权(过滤器)、路由转发 路由转发:路由id(注册服务的id)、uri路径、判定器、过滤器,可以写在配置文件中,或者存在表中   2.技术 nginx 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务; Spring Cloud Zuul 是Netflix出品的一个基于JVM路由和服务端的负载均衡器; Spring Cloud gateway 是spring出品的基于spring的网关项目,集成断路器,路径重写,性能比Zuul好;  
五、客户端负载均衡 ribbo  

翻译

搜索

复制

© 版权声明
THE END
支持一下吧
点赞9 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码快捷回复

    暂无评论内容