Nepxion Discovery【探索】微服务企业级解决方案 V5.4.0.pdf
Discovery框架基于Spring Cloud 的企业级微服务开源解决方案:基于的核心模块• 基于Discovery服务注册发现• 基于Ribbon负载均衡• 基于Feign和RestTemplate调用 支持的中间件• 支持Eureka、Consul、Zookeeper和阿里巴巴的Nacos四个服务注册发现中心• 支持阿里巴巴的Nacos、携程的Apollo和Redis三个远程配置中心• 支持Hystrix或者阿里巴巴Sentinel的两个熔断隔离限流降级• 支持Spring Cloud Gateway、Zuul网关和微服务三大模块的灰度发布和路由等一系列功能目录CONTENTS4总体概述系统功能框架架构文档示例IVERALL INTRODUCTION SYSTEM FEATURES FRAMEWORK ARCHITEC DUCUMENTS DEMIS第3页总体概述IVERALL INTRODULTIOI第4页总体概述发展历程(1)Jun17,2018-oct5,2019Contributions: commits重构优化ntributions to master, excluding merge commits诞生发展截至2019年11月,近百次的重构和优化,近9万行全部代码撰写量2017年12月开始筹划,2018年36个大版本迭代,近1900次月开始编码,6月在 GitHub开源Commits,近50个重要 Release,从 Spring Cloud Camden版和近1800个 StarsJuly Auguet September october Novomberecember 2019 February March Aanl MayDalston版开始支持,最终成熟于Haojun Ren1,882 comm:ts81.949++50.018Edgware版,继而兼容 Finchley版Greenwich版、 Hoxton版本,未100来将支持更高级的版本,具有企A业级的插件引入、开箱即用特征质量控制核心组件严格的代码质量控制,专门的自动化测试框架,36个全自动化测支持4个注册中心( Nacos、试用例,大量的压测实验Consu、 Eureka、 Zookeeper)、3个配置中心( Apollo、 Nacos、Nepxion/DiscoveryE Used by 16 O Unwatch-14★ Unstar1719 Fork55Redi)、2个网关( Spring<>Code O Issues o 5 Pull requests 1 I Projects o BE Wiki 0 Security aL Insights Q SettingsCloud Gateway、zuu)、2个限流熔断降级组件( SentinelE Nepxion Discovery is a enhancement for Spring Cloud Discovery on Eureka Consul Zookeeper Nacos with Nacos ApolloEditonfigforgrayrelease,router,weight,isolation网关和服务灰度发布、路由、权重、隔离、调用链htp/www.nepxion.comHystrix)等soring-doud gray-release nacos eureka consul zookeeper apollo redis Manage topics1, 897 commits3 branches>47 releases1 environment是2 contributorsa Apache-20第5页总体概述发展历程(2)社区建设截止2019年11月,2个开源技术交流群,近700人,近10个核心Committers提交 Pull Requests使用情况近40家公司包括银行、保险、以及互联网公司使用及调研版本支持叫截至2019年11月,现有和未来的版本计划4Edgware(3XX)相关版本不再维护,进入EOL模式,3.12.1为最后一版Finchley(4X)和G5x)相关版本不再维护外部支持并入到 Hoxton(6x.x),4.12.1和54.1为最后一版* Hoxton(6.XX),同时适用于 Finchley、 Greenwich和 Hoxton*感谢阿里巴巴中间件Nco和Sentinel团队, Nacos负责人@于框架版本框架状态适用 ISpring Cloud版本话用 Spring BootI本适用 ISpring Cloud Alibaba本Hoxton2.2x RELEASE22xRELEASE怀, Sentinel负责人@子衿,6.0.0计划中Greenwich2.1x RELEASE2.1x RELEASE2, 0x RELEASE20x RELEASESpring Cloud Alibaba负责人@亦5.4.0选代中,可用 Greenwich2.1 RELEASE21xRELEASE盏、@洛夜的技术支持;4.120选代中,可用2.. RELEASE2.0x RELEASE3.120达代中,可用1.5.x RELEASE1.5x RELEASE*感谢携程 Apollo团队,@宋顺,20已停史,瘘弃 Dalser特意开发 OpenApi包和技术支持13已停更,废弃 Camden*感谢所有 Committers和贡献者第6页总体概述发展历程(3)不完全统计,目前社区开源项目已经被如下公司使用或者调研中国亚安平安银行PING AN BANK平安一账通众众安保险S民银捕发银信用②招商行回自中国太本CHINA TAIPING中國東方航空CHINA EASTERNluckin coffee回联鲸消费金融Q太谷电力B惠借科技。想己帐完圆即呀xP8B轻舟科技PASSBOAT④前州巨玩麒技有眼Z司冬琢创网络科技口青客冬上海项昂信息科技∧sPE3cH思必驰专注人性化的智能语音CEV POWER BEST√ CHOICE依威能源伯乔金融第7页总体概述发展历程(4)成为阿里巴巴中间件№acos项目的相关开源NACOSan easy-to-use dynamic service discovery, configuration and servicmanagement platform for building cloud native applicationsvo.1o Balise Nosegithub项目地址在这里更多与 Nacos相关的开源项目信息e NacosDubbo Registry NacosNacos dNs-F● Nacos Docker· Nacos Spring ProjectNacos Spring Boot· Spring Cloud AlibabaDubboSentinelSpring cloudNepxion DiscoverySpring Cloud Gateway Nacos第8页总体概述架构痛点现有微服务架构的痛点运维的痛点如果你是运维负责人,是否会经常发现,你掌管的测试环境中的服务注册中心,被一些不负责的开发人员把他本地开发环境注册上来,造成测试人员测试失败。你希望可以把本地开发环境注册给屏蔽掉,不让注册·如果你是运维负责人,生产环境的某个微服务集群下的某个实例,暂时出了问题,但又不希望它下线。你希望可以把该实例给屏蔽掉,暂时不让它被调用业务的痛点如果你是业务负责人,鉴于业务服务的快速迭代性,微服务集群下的实例发布不冋的版本。你希望裉据版本管理策略进ξ路由,提供给下游微服务区别调用,例如访问控制快速基于版本的不冋而切换,例如在不冋的版本之间进行流量调拨如果你是业务负责人,希望灰度发布功能可以基于业务场景特色定制,例如根据用户手机号进行不同服务器的路由数据库的痛点如果你是数据库负责人,希望灰度发布功能可以基于数据库切换上测试的痛点如果你是测试负责人,希望对微服务做AB测试第9页总体概述概念介绍微服务架构下的灰度发布、蓝绿发布和滚动发布灰度发布(又名金丝雀发布)不停机旧版本,部署新版本,低比例流量(例如:5%)切换到新版本,高比例流量(例如:95%)仍走旧版本。通过监控观察确认无问题,逐步扩大范围,慢慢的把所有流量都迁移到新版本上来两套环境交替升级,便于快速回滚,旧版本待流量为零,可以继续保留较长时间后下线·给予旧版本较长时间处理完它正在执行的工作,属于无损发布蓝绿发布不停机旧版本,部署新版本,将流量切到新版本两套环境交替升级,便于快速回滚,旧版本待流量为零,可以继续保留较长时间后下线给予旧版本较长时间处理完它正在执行的工作,属于无损发布滚动发布每次只升级一个或多个服务,升级完成后加入生产环境,不断执行这个过程,直到集群中的全部旧版本升级到新版本,需要较长的时间周期按批次停止旧版本,启动新版本,由于旧版本不保留,一旦全部升级完毕后才发现问题,则无法快速回滚停止旧版本的过程中,无法精确计算旧版本是否已经完成它正在执行的工作,需要靠业务自身去判断,在某种意义上,属于有损发布第10页
暂无评论