功能 | 组件 | 优势说明 |
---|---|---|
服务通讯 | feign(http-rest), dubbo3(rpc) | 服务之间可以采用http-rest内网通讯,也可以继续采用rpc来高并发通讯,基于注册中心进行服务注册和发现,所有的consumer自己在内存里维护目标provider的地址列表,并根据灰度策略和均衡策略进行调用 |
注册和发现 | nacos-discovery(mse) | 专注可用性(AP),不追求强一致性(但是也会保障最终一致性)。采用阿里云云产品,可以提供服务高可用性,方便升级扩展 |
无损下线 | spring-cloud-actuator | 通过在容器下线之前先调用graceshutdown,摘除注册地址,并通知到所有consumer,然后再关闭服务进程,避免下线过程中的瞬时报错 |
灰度发布+标签动态路由 | spring-cloud-gateway | 给需要灰度或者定义路由的服务打tag,然后在请求的时候在header上打tag标签,就可以按照预定的规则定义路由。这样可以做到重要服务可白天发布,开发环境下多个开发人员可以只在自己的version里流转,公共的服务则共享,避免资源浪费 |
配置管理 | nacos-config(开源自建)+ cfg4u | 配置集中化治理,版本管理,配置共享,多环境配置,动态配置。继续保留cfg4u提供分布式kv配置能力 |
限流+熔断 | sentinel(开源自建) | 在线可视化配置限流/熔断规则,也可以通过nacos-config进行预配置 |
网关路由 | spring-cloud-gateway | 配合nacos-config实现在线路由管理,可设置多种断言(可实现ip白名单)和过滤器(统一鉴权,日志输出,地址白名单,用户黑白名单,开发环境带swagger整合能力,链路追踪) |
认证鉴权(暂未作) | jwt+AzDGCrypt | 行业标准协议,结合自研方案,可以做到安全+高效+通用,并提供token刷新机制,服务不需要单独做认证了 |
生命周期管理 | spring-cloud-actuator | 多种端点探针,可以替代jmx,减少端口暴露,所有程序都可以配置/actuator/health非常适合作为readiness和liveness探针,而且只要请求经过网关,默认不能访问到actuator |
链路追踪 | spring-cloud-gateway | 所有请求,只要经过gateway,会自动标记跟踪的traceId(不经过gateway也可以手动设置),在后面的微服务调用过程中,都会进行透传,并输出到log4j,请求返回后会在header回写traceId,方便问题查询 |
接口文档(暂未实现) | spring-cloud-gateway+swagger | 网关具备查询所有微服务的能力,只要微服务自己集成了swagger,就可以在网关上可以集中化管理所有后面的swaggerui,减少集成的成本 |
定时任务 | @Scheduled | spring自带定时任务,简单配置就可以实现强大的定时任务 |
-
Notifications
You must be signed in to change notification settings - Fork 0
heliangrui/hlr
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
封装服务启动所需模块(微服务架构)
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published