微服务技术与SpringCloud

微服务是分布式架构的一种,要把服务做拆分,拆分的过程中会产生各种各样的问题。

SpringCloud解决了服务拆分时的服务治理问题。

微服务技术栈包括:

1.微服务技术

注册中心 拉取或者注册服务信息

配置中心 拉取配置信息

服务网关  校验身份 请求路由 负载均衡

分布式缓存 用户请求先到缓存 在到数据库

分布式搜索 用户集群进行分布式搜索

消息队列  异步通信提高服务并发

分布式日志服务 用于定位异常 统计分析

系统监控和链路追踪 

2.持续集成

数据库 到Jenkins 到kubernetes、docker、rancher等。

微服务技术栈详细内容

微服务治理

异步通信技术

缓存技术

搜索技术

DevOps(持续集成)

1.SpringCloud微服务架构

微服务架构演变: 单体架构 所有功能集中在一个项目中开发 打包部署

                   架构简单 部署成本低  缺点是耦合度高

         分布式架构 根据业务功能对系统进行拆分 每个业务模块独立项目开发,成为一个服务

                   降低服务耦合 有利于服务升级拓展 缺点 部署复杂 远程调用

             需要考虑服务拆分粒度如何?服务集群地址如何维护?如何远程调用?服务健康状态如何?

微服务就是一种经过良好架构设计的分布式架构方案,微服务的架构特征:

1.单一职责:微服务拆分粒度更小,每一个微服务都对应唯一的业务能力,做到单一职责,避免重复业务开发。

2.面向服务:微服务对外暴露业务接口

3.自治:团队独立 技术独立 数据独立 部署独立

4.隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题。

高内聚 低耦合 降低服务之间影响的范围 避免集群的故障

微服务的结构

代表 SpringCloud和Dubbo 和SpringCloudAlibaba

Dubbo

注册中心 Zookeeper Redis

服务器远程调用 Dubbo

配置中心 没有

服务网关 没有

服务器监控和保护  dubbo-admin ,功能弱

 

 

SpringCloud

注册中心 Eureka Consul

服务器远程调用 Feign   (http协议 controller)

配置中心 SpringCloudConfig

服务网关 SpringCloudGetway / Zuul

服务器监控和保护  Hystrix

服务链路监控 OpenFeign Dubbo

 

SpringCloudAlibaba

注册中心 Eureka Nacos  服务注册发现

服务器远程调用 Feign   (http协议 controller)/ dubbo 远程调用

配置中心 SpringCloudConfig/Nacos  统一配置管理

服务网关 SpringCloudGetway / Zuul  统一网关路由

服务器监控和保护  Sentinel    流控 降级 保护

 

posted @ 2021-09-18 14:39  zuiAI0658  阅读(46)  评论(0)    收藏  举报