范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

几种微服务框架调研报告

  微服务架构旨在将大型,复杂的系统垂直(按功能或业务要求)划分为较小的子系统,这些子系统属于流程(因此可独立部署),并且这些子系统之间通过与语言无关的轻量级网络通信相互通信(例如REST,gRPC)或异步(通过消息传递)方式。作者:程小龙
  单位:中移物联网有限公司1、引言
  1.1 微服务的目的
  以拆分和服务化为基础,将海量用户产生的大规模的访问流量进行分解,采用分而治之的方法,达成用户需要的功能指标,并同时满足用户对高可用、高性能、可伸缩、可扩展和安全性的非功能质量的要求。
  1.2 微服务的核心要点
  - 业务的功能划分:每个单一的业务功能叫做一个服务,每个服务对应一个独立的职能团队。
  - 去中心化治理:微服务倡导去中心化的治理,不推荐每个微服务都使用相同的标准和技术来开发和使用服务。
  - 交互模式:在微服务领域,微服务之间的交互通过定义良好的接口来实现,不允许使用共享数据来实现。通常使用RESTful样式的API或者透明的RPC调用。
  - 组合依赖:根据业务流程处理的需要,以一定的顺序调用依赖的多个微服务,对依赖的微服务返回的数据进行组合、加工和转换,最后以一定的形式返回给使用方。
  - 容错模式:
  ➤ 熔断
  当服务的输入负载迅速增加时,如果没有有效的措施对负载进行熔断,则会使服务迅速被压垮,服务被压垮会导致依赖的服务都被压垮,出现雪崩效应,因此,可通过模拟家庭的电路保险开关,在微服务架构中实现熔断。
  ➤ 限流
  针对服务突然上量,我们必须有限流机制,限流机制一般会控制访问的并发量,例如每秒允许处理的并发数及查询量、请求量等,实现方式如计数器,令牌桶等。
  - 拆分粒度:
  按照微服务的初衷,服务要按照业务的功能进行拆分,知道每个服务的功能和职责单一,甚至不可再拆分为止,以至于每个服务都能独立部署,扩容和缩容方便,能够有效地提高利用率。拆的越细,服务的耦合度越小,内聚性越好,越适合敏捷发布和上线。
  1.3 微服务的优点与缺点
  - 优点每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求;微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成;微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的;微服务能使用不同的语言开发;微服务易于被一个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果,无需通过合作才能体现价值;微服务允许你利用融合最新技术;微服务只是业务逻辑的代码,不会和HTML,CSS 或其他界面组件混合。
  - 缺点微服务架构可能带来过多的操作;需要DevOps技巧;可能双倍的努力;分布式系统可能复杂难以管理;因为分布部署跟踪问题难;当服务数量增加,管理复杂性增加。
  下文将介绍下几种微服务架构的情况。2、Spring Cloud
  2.1 整体架构
  模块交互流程图
  2.2 核心组件
  2.3 特点
  1️⃣ Spring Cloud利用SpringBoot的开发便利性巧妙的简化了分布式系统基础设施的开发,组件支持丰富,功能齐全,为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等。它们都可以用SpringBoot的开发风格做到一键启动和部署;
  2️⃣ 使用 HTTP 协议的 REST API,服务提供方和服务消费方通过 Json 数据格式交互,只需要定义好相关 Json 字段即可,消费方和提供方无接口依赖。通过注解方式来实现服务配置,对于程序有一定入侵;
  3️⃣ 性能上因为是HTTP短连接,系统并发量和响应时间不及RPC长连接方式(如Dubbo,相差三倍左右),在报文比较小,响应时间要求严格的场景不太适合;
  4️⃣使用spring boot admin作为服务基本情况监控,原理是Spring Boot Actuator组件;
  5️⃣ 部分组件的功能及稳定性并未达到生产级别,使用者不多,需要引入其他功能相似组件。3、Dubbo
  Dubbo是一个分布式、高性能、透明化的RPC服务框架,提供服务自动注册、自动发现等高效及多样性服务治理方案,可以和Spring框架无缝集成。
  3.1 整体架构
  Provider:暴露服务的服务提供方;Consumer:调用远程服务的服务消费方,使用软负载均衡算法;Registry:服务注册与发现的注册中心,如Zookeeper、Redis等;Monitor:统计服务的调用次数和调用时间的监控中心,服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心;Container:服务运行容器;
  Dubbo分层结构设计图config配置层
  对外配置接口,以ServiceConfig, ReferenceConfig为中心,可以直接初始化配置类,也可以通过spring解析配置生成配置类;proxy服务代理层
  封装了所有接口的透明化代理,而在其它层都以Invoker为中心,只有到了暴露给用户使用时,才用Proxy将Invoker转成接口,或将接口实现转成Invoker,也就是去掉Proxy层RPC是可以Run的,只是不那么透明,不那么像调本地服务一样调远程服务;registry注册中心层
  封装服务地址的注册与发现,以服务URL为中心,扩展接口为 RegistryFactory, Registry, RegistryService;cluster路由层
  封装多个提供者的路由及负载均衡,并桥接注册中心,以Invoker为中心,扩展接口为 Cluster, Directory, Router, LoadBalance;monitor监控层
  RPC调用次数和调用时间监控,以Statistics为中心,扩展接口为 MonitorFactory, Monitor, MonitorService;protocol远程调用层
  封装RPC调用,以Invocation, Result 为中心,扩展接口为Protocol, Invoker, Exporter,Protocol是核心层,也就是只要有Protocol + Invoker + Exporter就可以完成非透明的RPC调用,然后在Invoker的流程中实现Filter拦截点;exchange信息交换层
  封装请求响应模式,同步转异步,以Request, Response为中心,扩展接口为Exchanger, ExchangeChannel, ExchangeClient, ExchangeServer;transport网络传输层
  抽象mina和netty为统一接口,以Message为中心,扩展接口为Channel, Transporter, Client, Server, Codec;serialize数据序列化层
  可复用的一些工具,扩展接口为Serialization, ObjectInput, ObjectOutput, ThreadPool。
  3.2 核心组件
  Spring Cloud与Dubbo功能对比
  3.3 特点
  4、Spring Cloud Alibaba
  4.1 整体架构
  类似Spring cloud的架构,适配集成Alibaba的多种中间件,注册中心换成了Nacos,限流熔断从Hystrix换成了Sentinel,服务间调用可以使用Dubbo,使用RocketMQ作为消息总线及事件驱动组件,用Seata组件(前身是fescar)支持分布式事务功能,目前最新版本是2.1.0.RELEASE。
  4.2 核心组件与特点
  Nacos基本架构
  Sentinel 的主要特性
  Sentinel 的开源生态
  与spring cloud相关组件对比
  几种服务治理组件对比
  使用demo:https://www.jianshu.com/p/9a8d94c0c90c。5、Service mesh
  5.1 整体架构
  如下是简化的Service Mesh架构,服务A和服务B相互调用,不再是以前通过微服务框架直接指向的方式,而是在中间加了两个叫做Sidecar(边车)的东西,各种服务都在这里处理数据上的逻辑。Sidecar的作用是数据面的代理,贴近数据并受控于控制面。
  基本架构图
  实际业务中,尤其是中台架构下,企业往往需要很多的微服务,即服务A、服务B相互调用情形不断扩展,逐渐形成更多的服务加Sidecar的组合,就变成了一个真正意义的Service Mesh。
  服务的网格化(mesh)
  5.2 核心组件
  Istio架构图
  主流云原生Service Mesh框架是Istio,Go语言实现,与容器编排系统Kubernetes一脉相承,下面介绍其主要组件,目前Istio版本为1.3.x release:
  5.3 特点
  1、Service Mesh所带来的核心价值可以总结为:基础设施下沉 —— 微服务架构支撑、网络通信、治理等相关能力下沉到基础设施层,业务部门无需投入专人开发与维护,可以有效降低微服务架构下研发与维护成本;降低升级成本 —— Sidecar支持热升级,降低中间件和技术框架客户端、SDK升级成本;语言无关 —— 提供多语言服务治理能力;降低复杂测试、演练成本 —— 降低全链路压测、故障演练成本和业务侵入性。
  2、数据面以Envoy Proxy作为代理组件。通过Outbound流量拦截或显示指向Envoy Proxy地址的方式代理发起请求流量,经过Envoy Proxy的服务发现、负载均衡、路由等数据面逻辑后,选择目标服务实例地址进行流量转发;在Inbound流量接收端进行流量拦截(可配置是否拦截),对Inbound流量进行处理后转发至目标服务实例。
  3、控制面以Pilot为核心组件。通过建立与Envoy Proxy双向GRPC连接,实现服务注册信息、服务治理策略的实时下发与同步。其他控制面组件Mixer(策略检查、监控、日志审计等)、Citadel(认证与授权)、Galley(配置检查)可在实际场景中配置关闭。
  4、平台开放与扩展主要通过Kubernetes CRD与Mesh Configuration Protocol(简称为MCP,一套标准GRPC协议)。平台默认支持Kubernetes基于ETCD的注册中心机制,可通过MCP机制对接更多诸如Consul、Eureka、ZooKeeper等多注册中心;对服务治理策略的配置可通过定义Kubernetes CRD或实现MCP GRPC服务对接实现。
  5、高可用设计主要基于Kubernetes及Istio机制实现。数据面Envoy Proxy以Init-Container方式与业务Container同时启动,Istio提供了Pilot-agent组件实现对Envoy Proxy生命周期、升级的支持,保证Envoy Proxy的高可用。控制面所有Istio组件均由Kubernetes多副本探针机制保证高可用性。Istio目前支持服务部署于Kubernetes、使用Consul注册服务、服务运行于单个虚拟机上集成,自定义 Istio的策略执行组件可以扩展和定制,以及与acl、日志记录、监视、配额、审核等现有解决方案集成。
  6、Alibaba的对Istio架构的改造落地实践:https://zhuanlan.zhihu.com/p/96720618。
  实践方案中放弃Istio 通过 iptables 的 NAT 表去做流量透明拦截的方式(NAT 表所使用到的 nf_contrack 内核模块效率很低),自研全新的透明拦截组件mangle;也没有采用 Istio 中的 Mixer 组件,用内部广泛使用的 Sentinel 组件替代,每个请求都会经过 Sentinel Filter 做处理。限流所需的配置信息则是通过 Pilot 从 Nacos 中获取,并通过 xDS 协议下发到 Envoy 中,实践中Service Mesh 的引入对于 RT 的影响和带来的 CPU 开销是基本一样的,而内存开销则因为依赖服务和集群规模的不同而有相当大的差异,Envoy 在内存的使用上仍存在很大的优化空间。
  7、Service Mesh 离普及还面临一定挑战:
  (1)性能尚存问题,服务间调用因为两层Sidecar,请求链路多两跳;Istio Mixer集中式后端成为性能瓶颈;
  (2)Istio架构复杂,一定的技术门槛,掌握和实施成本较高,稳定性及产品化应用有待验证;
  (3)真实落地的产品和企业还是比较少,提供的经验比较欠缺。6、Service Comb
  2018年10月24日, Apache软件基金会宣布Apache ServiceComb 毕业成为Apache顶级项目。Apache ServiceComb已在数十家企业中使用,包括奇蛙智能科技、华为云、软通动力,传智播客、梅斯医学、文思海辉、中国人保和同济大学等。
  6.1 整体架构
  6.2 核心组件
  6.3 特点
  1、异步内核:基于VertX的同步和异步模型编程有效确保了无论是在传统企业或电商领域,还是在新兴的互联网或物联网等新兴企业中,都能够保持高性能和低延迟,以避免在达到峰值负载时应用出现雪崩效应;
  2、ServiceComb支持多种通信协议, Rest、Highway(RPC)等,相比SpringCloud的Rest协议,Highway(RPC)协议性能更高,Highway是基于二进制的序列化方式传输数据,采用二进制编码的系统的性能远高于采用文本的HTTP协议;
  3、开箱即用体验,开发简单,开发人员通过脚手架网站start.servicecomb.io启动的微服务项目,可以集服务注册、发现、通信和微服务治理能力和默认的集中化配置为一体;
  4、ServiceComb的商业版本CSE相比SpringCloud不仅提供了微服务开发框架,还提供了微服务云部署,管理、治理等一站式解决方案;
  5、OpenAPI自动代码生成,业务逻辑代码和治理能力隔离,可以使能DevOps Pipeline, 使用契约文件和OpenAPI的双向生成能力可以使不同的团队高效且独立的开发和管理代码、测试和进行文档化工作;
  6、官网上的文档资料比较简略,网上可借鉴的实现案例不多,demo:https://blog.csdn.net/zengdongwen/article/details/93486257。

中央红军长征首站入境广东,突破敌军三道封锁线1934年10月,中央红军在第五次反围剿失败后,被迫实行战略转移,开始了二万五千里长征。广东是中央红军离开中央苏区核心区域的第一站。红军在韶关乐昌市九峰镇浆源村留下的标语。韶关市仁走进新南沙(二)讲好南沙故事,携手港澳共建湾区文化枢纽港访南沙区文化广电旅游体育局党组书记局长鲁辉编者按国务院6月印发广州南沙深化面向世界的粤港澳全面合作总体方案(下称南沙方案),9月19日,广东省委召开全省推进实施南沙方案现场会,对南沙方案实施进行研究部署推动落实。作为方案落柳岩行为惹争议!穿黑丝打扮清凉街头热舞,路人疑惑走过无人识饿了吗?戳右边关注我们,每天给您送上最新出炉的娱乐硬核大餐!11月1日晚,柳岩更新社交平台动态,晒出她现身街头热舞的视频,并配文称猜猜我在哪。动态一出,柳岩的身材与状态引起网友们的文论丨傅德盛浅析柳宗元山水散文永州八记审美能动性的形成及其表现林峰摄美不自美,因人而彰浅析柳宗元山水散文永州八记审美能动性的形成及其表现傅德盛摘要柳宗元的山水散文永州八记,很好地实践了他提出的美不自美,因人而彰的审美主张。在他的生长环境里和对左手忙扩产,右手忙上市二线动力电池企业加速扩产,锂电企业纷纷加速上市进程。近日,国内第三大动力电池生产商中创新航在香港联合交易所主板挂牌交易,成为港股动力电池第一股。作为二线动力电池头部企业,中创新航I精准监督抓点带面护航国家乡村振兴示范县创建中央纪委国家监委网站李灵娜近日,农业农村部国家乡村振兴局公布2022年国家乡村振兴示范县创建名单,北京市大兴区河北省阜平县等100个单位入选。据了解,开展创建工作2至3年后,农业农明日十月初十,农谚成不成,就看十月初十,有啥预兆?导读明日十月初十,老话说成不成,单看十月初十日,有啥预兆?这些话语一般在祝福的时候说出来,也正是这些有意思的数字,也让我们的老祖宗们在农历年时间中总结出来了一些双日子的传统节日,在哈雷NightsterampampampLowRiderElDiablo上市售价11。88万元起爱卡摩托资讯选车图库11月2日,搭载哈雷旗下全新957T水冷动力的Nightster正式上市,售价为11。88万元起,与之同时上市的还有的LowRiderElDiablo限量版车型网红第一美迅猛龙,把小杨哥迷得五迷三道,却因掉滤镜吓退粉丝被称为厦门林志玲的迅猛龙特蕾莎,在美颜滤镜消失的瞬间吓坏了无数粉丝,之前凭借着出众的外貌魔鬼的身材,在网络上吸引了一大波粉丝。直播时候随便扭一扭就会有很多粉丝刷礼物,撒起娇来就连小湖南老板卖海鲜,凭借人性陷阱,一月盈利60万,策略拿去用按照惯例,又到了给大家分享成功商业案例的时间了,今天给大家分享的是海鲜市场的成功案例,海鲜老板凭借人性陷阱就盈利了60万,老板套用的营销策略非常厉害,几乎所有的行业都能用,只要你认许嵩00后女友身份不简单,系学霸主持人,男方小迷妹主动倒追36岁海蝶公司音乐总监内地音乐鬼才许嵩向来性格低调,一直是圈内一股清流,素有情歌王子美誉的他,感情动态备受外界关注。曾写下高品质的孤独,远胜粗糙的狂欢单身宣言的许嵩,今日(2)被狗
友情演出!曝罗纳尔迪尼奥参加皮克的国王联赛,每场出场费仅70欧巴西媒体透露,巴西传奇罗纳尔迪尼奥在参加由杰拉德皮克创办的国王联赛时只拿到了微薄的报酬。ElFutbolero透露,罗纳尔迪尼奥在国王联赛中每场比赛收入只有70欧元。不,这不是打字哈尔滨市业余围棋发展史编年大事记1986年第四章编年大事记1986年1月19日24日哈尔滨市中小学生棋类比赛在市少年宫举行。春节哈市名手邀请赛时间2月12日14日地点市工人文化宫(24位哈市知名棋手被邀参赛)冠军王朝宇。3WTAampampampATP迈阿密站3月25日26日收看指南WTAATP迈阿密1000赛北京时间3月25日23点30分将开启男单正赛下半区第二轮女单正赛上半区第三轮的角逐北京时间3月25日23点30分萨姆索诺娃VS郑钦文奧斯塔彭科VS玛雅丘中国选手遭遇阻击广州日报讯(全媒体记者孙嘉晖)北京时间昨天,ATP1000迈阿密大师赛展开男单次轮的角逐,吴易昺首盘错失盘点后以6比7(1)和1比6不敌地表最强170阿根廷名将施瓦茨曼,遗憾止步次羽协换届,新掌门人或锁定,林丹大热门,3选1,黑马或逆袭2019年1月28日,中国羽毛球协会换届工作完成,张军也是当选了中国羽毛球协会的会长,在张军出任羽毛球协会掌门人的4年里面,中国国羽成绩下滑不少,昔日的梦之队名号也不抱,甚至中国国建议今后CBA联赛取消外援,全华班出战,你同意吗?坚决的不同意,古为今用,洋为中用,总体的说外援比国内球员水平高一些。让他们在球场上展示一下不好吗?为什么提出这种想法?闭关锁国,固步自封,是十分危险的。太好了,总算有人出来说这句话CBA各家俱乐部老板都是做什么买卖的?谁最有钱?CBA联赛目前共有20支球队,幕后老板身份五花八门,有的幕后东家集团资产过万亿,有的幕后老板个人身价就高达百亿。作为中国最高级别的职业篮球联赛,CBA从1995年创立至今也已经度过尼康D700二手现在还值得买吗?无论从实用的角度看,还是从收藏的价值方面说,尼康D700二手都不值得买。数码时代的相机产品,核心价值在知识产权。其制作成本非常低,也非常简单。由此便决定了数码相机更新换代频繁,生产想入手一台两千到两千五的手机,请问各位大神要不要等双十一?感谢邀请想入手一台两千到两千五的手机,请问各位大神要不要等双十一?实际我一直觉得选择手机和时间虽然有关系,比如双十一或者是618价格会更低,但是和品牌以及手机的定位关系会更大一些。沙尘天气如何防护?专家来支招央视网消息沙尘天气会对眼睛呼吸道皮肤都会带来影响。沙尘天气下如何正确防护?来看专家带来的防护指南。沙尘天气里,眼睛往往最容易受伤。如果眼睛有异物感,说明沙尘就在角膜上,采取揉搓等不人生之路看到刘巧珍献出第一次,才懂她为何成为高加林的过客马栓向刘巧珍表白了。原以为以自己少有的万元户身份,会得到刘巧珍的青睐。谁知,马栓遭到刘巧珍无情的拒绝。马栓的爱马栓高三复读了三年,最后还是连预考都考不上。这次失败让马栓很崩溃,预考