微服务框架

微服务流程

  1. 所有服务注册到注册中心(认证服务,消息推送,搜索服务,短信服务,网关)
  2. 用户请求之前需要通过网关从注册中心获取认证服务地址,请求认证服务获取到token,网关将token存储至redis。
  3. 客户端获取token以后,携带token发起数据接口请求。
  4. 在网关接受客户端请求以后,通过注册中心获取到业务服务列表,从而转发数据请求到后台业务服务。
  5. 业务服务在接受网关请求时,校验token有效性,通过验证之后,业务接口返回数据至网关,最后返回到客户端,整个请求结束。

https://baijiahao.baidu.com/s?id=1739879981368447672&wfr=spider&for=pc

https://blog.csdn.net/java_beautiful/article/details/126467776

单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署;分布式架构:根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。

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

1. 单一职责:拆分粒度小,每个服务对应唯一的业务能力

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

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

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

 

这些特征总结起来就是高内聚,低耦合

当下企业对微服务技术的需求共四类:SpringCloud+Feign、SpringCloudAlibaba+Feign、SpringCloudAlibaba+Dubbo、Dubbo原始模式

SpringCloud是目前国内使用最广泛的微服务框架技术栈,官网:https://spring.io/projects/spring-cloud,SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。

 

一、微服务治理中心框架

Apache Dubbo分布式RPC框架

Spring Cloud Alibaba分布式应用服务开发一站式解决方案

Spring Cloud微服务开发和治理框架

Apache ServiceComb一站式开源微服务解决方案

二、持续集成CI/CD

CI/CD配置中心
Jenkins、Docker Hub、Maven、Nexus、CI/CD Apollo

三、微服务组件

 
选项 组件
阿里系 Spring Cloud&Dubbo系

服务调用方式

OpenFeign

feign

服务注册 Nacos Discovery Eurake(AP)、Zookeeper(CP)
API网关 Spring Cloud Gateway Spring Cloud Gateway、Zuul
熔断限流 Sentinel Hystrix
配置中心 Nacos Config Apollo、Spring Cloud Config
消息队列 RocketMQ  
分布式事务 Seata  
分布式服务追踪 Spring Cloud Sleuth Spring Cloud Sleuth
监控 Spring Cloud Admin Spring Cloud Admin
短信服务 Alibaba Cloud SMS  
消息总线   Spring Cloud Bus

 

四、容器

选项 首选
容器 Docker
容器编排管理 kubernetes(首选推荐)、Docker Swarm、Apache Mesos

 

 

 

 

posted @ 2023-03-17 10:29  古锁阳关  阅读(161)  评论(0编辑  收藏  举报