当前位置: 首页 > news >正文

新农村建设在哪个网站查黑龙江省建设网官方网站

新农村建设在哪个网站查,黑龙江省建设网官方网站,muse cc 做网站,个人网站 网站名称戳蓝字“CSDN云计算”关注我们哦#xff01;作者 | 孙玄本文经授权转载自架构之美前言微服务架构模式经过5年多的发展#xff0c;在各行各业如火如荼地应用和实践。如何在企业中优雅地设计微服务架构#xff1f;是企业面对的一个重要问题。本文将讲述微服务架构1.0设计与实践… 戳蓝字“CSDN云计算”关注我们哦作者 | 孙玄本文经授权转载自架构之美前言微服务架构模式经过5年多的发展在各行各业如火如荼地应用和实践。如何在企业中优雅地设计微服务架构是企业面对的一个重要问题。本文将讲述微服务架构1.0设计与实践以及面临问题和破局最后讲述微服务架构2.0设计与实践等方面尝试去回答这个难题。微服务架构1.0设计与实践  1.1 微服务架构定义2014年马丁福勒提出了微服务架构设计模式微服务架构最核心的设计有二点如图1 绿框所示第一把单体服务拆分成一系列小服务第二拆分后的这些小服务是去中心化的即每个服务都可以使用不同的编程语言也可以使用不同的数据库和缓存存储数据。图1 微服务架构模式1.2 微服务架构拆分设计实践第一个问题是服务如何拆分的问题。架构拆分没有新鲜事即不同领域的架构设计在道哲学的层面都是相通的。我们来思考一下公司数据库集群遇到读写和存储的性能问题时是如何解决的假如公司电商业务包含用户、商品以及交易等数据每种数据使用一张单独的表存储这些数据放在一个数据库DB4Global中。随着请求量的增加和数据存储量的增加单独的DB4Global数据库会遇到性能瓶颈。为了解决数据库的性能问题需要对DB4Global库拆分首先对DB4Global库按照业务领域进行垂直拆分拆分为多个独立的用户库DB4User、商品库DB4Info、交易库DB4Trade等其次为了进一步提升数据库的性能再次根据功能对每个表进行水平方向的拆分例如用户表10亿记录主键为用户UID。Partition Key选择为UID按照UID % 128 水平拆分。架构设计之道是相通的微服务拆分同样遵循业务领域的垂直拆分以及功能的水平拆分。继续以电商业务为例首先按照业务领域的垂直拆分分为用户微服务、商品微服务、搜索微服务、推荐微服务、交易微服务等等。继续思考一个问题在垂直方向仅仅按照业务领域进行拆分是否满足所有的业务场景答案是否定的。例如用户服务分为用户注册写请求和用户登陆读请求等。写请求的重要性往往是大于读请求在互联网大流量下读写比例10:1甚至更高的情况下大量的读往往会直接影响写。为了避免大量的读对写请求的干扰需要对服务进行读写分离即用户注册为一个微服务用户登陆为一个微服务。此时按照API的细粒度继续进行垂直方向的拆分。在水平方向按照请求的功能拆分即对一个请求的生命周期继续进行拆分。请求从用户端发出首先接受到请求的是网关服务网关服务对请求进行请求鉴权、通用参数检查、协议转换以及路由转发等。接下来业务逻辑服务对请求进行业务逻辑的编排处理比如微信发送消息需要进行好友关系检查、对消息内容进行风控检查、进行消息的存储和推送等。对业务数据进行存储和查询就需要数据访问服务数据访问服务提供了基本的CRUD原子操作并负责海量数据的Sharding分库分表以及屏蔽底层存储的差异性等功能。最后是数据持久化和缓存服务比如可以采用NewSQL TiDB以及Redis Cluster等。通过以上的拆分普适的微服务架构如图2所示。图2 普适的微服务架构微服务架构通过业务垂直拆分以及水平的功能拆分服务演化成更小的颗粒度各服务之间相互解耦每个服务都可以快速迭代和持续交付从而在公司层面能够达到降本增效的终极目标。但是服务粒度越细服务之间的交互就会越来越多更多的交互会使得服务之间的治理更复杂。服务之间的治理包括服务间的注册、通信、路由、负载均衡、重试、限流、降级、熔断、链路跟踪等。微服务架构技术选型包括微服务本身的研发框架以及服务治理框架。目前研发框架主流的RPC有两类一种是RPC Over TCP典型代表是Apache Dubbo另外一种是RPC Over HTTP典型代表是Spring Cloud。企业根据团队的研发基因二者选一即可。在服务治理方面包含了服务注册、服务配置、服务熔断、服务监控等方面服务注册本质是AP的模型可以选用Nacos服务配置可以选用CTrip Apollo服务熔断可以选用Netflix Hystrix组件服务监控可以选用Open-Falcon等配套框架。1.3 微服务架构1.0面临问题以及破局在微服务架构1.0中每个服务包含了服务自身的功能设计以及服务治理的功能设计他们耦合在一起这些服务治理的功能和服务自身功能没有关系业务方也不需要关注。使得微服务1.0架构不再是银弹存在以下几个方面的问题第一每一个业务服务为了和其他业务服务交互都必须关注和引入服务间服务治理组件使得业务服务迭代速度变慢如图3所示。图3 业务服务迭代速度慢第二服务治理组件和服务自身功能耦合在一个进程内使得服务治理组件的升级强依赖于业务服务自身造成基础设施研发团队的交付能力和交付速度大大降低。如图4所示服务降级功能从V1升级到V2需要业务服务更换服务降级功能的组件重新打包编译和发布。图4 服务治理组件升级困难第三如[1]所示马丁福勒对微服务架构的期望是每个服务都可以使用业务团队熟悉的语言来编写但是在服务自身和服务治理耦合在一起的情况下每个语言都需要一套完整的服务治理组件必然造成公司研发投入成本增大ROI不高。如图5所示Java语言编写的应用程序A和应用程序C交互就需要一套完整的Java语言服务治理组件同样世界上最好语言编写的应用程序B和应用程序C交互就需要一套完成的PHP语言服务治理组件。图5 多套服务治理组件那么造成这些问题的本质原因在于服务自身功能和服务治理功能的物理耦合把服务治理功能完全解耦出来变成一个独立的服务治理进程从而以上三个问题得以彻底解决。微服务架构2.0设计与实践 2.1 Serive Mesh定义微服务架构1.0继续演进就变成了微服务架构2.0即Service Mesh架构Service Mesh。Servie Mesh架构最早由开发Linkerd的Buoyant公司提出并在内部使用。2016年09月29日第一次公开使用2017年初进入国内技术社区视野。Service Mesh到底是什么我们来看看Linerd公司CEO Willian Morgan对Service Mesh的定义如图6所示图 6 Service Mesh定义Service Mesh是一个基础设施层用于处理服务间交互。云原生应用有着复杂的服务拓扑Service Mesh负责在这些拓扑中实现请求的可靠传递。在线上实践中Service Mesh通常实现为一组轻量级的网络代理Sidecar边车它们与应用程序部署在一起并且对应用程序透明。2.2 微服务架构2.0破局图7 Service Mesh架构如图7所示应用程序A和应用程序B交互请求调用关系如下应用程序A调用本地的Sidecar ASidecar A在通过网络交互调用远端的Sidecar B再由Sidecar B把请求传递给应用程序B。请求回应关系也是类似应用程序B调用Sidecar BSidecar B在通过网络交互调用远端的Sidecar A再由Sidecar A把请求回应传递给应用程序A。通过把服务治理功能从服务自身中物理剥离出来下沉形成独立的进程从而物理解耦。在这样的架构模式下业务应用程序再也不需要关注服务治理的功能服务治理的功能升级也不要依赖于服务自身从而能够让业务迭代更快速和高效。同时由于服务治理功能变成一个独立的进程只需要使用一种语言打造即可业务服务自身可以选择业务团队擅长的语言进行编写从而能够真正达到马丁福勒对微服务的期望。我们再深入分析下协议在通信协议方面业务应用程序和Sidecar的通信可以基于TCP长连接也可以基于HTTP 1.0或者2.0的长连接思考下是否一定要使用长连接Sidecar间的通信协议没有特殊要求在数据传输协议方面可以是JSONXML等跨语言的文本协议也可以选择ProtobuffersMessagePack等跨语言的二进制协议。保证了通信协议和数据传输协议的跨语言不同语言的应用程序就可以无缝地和Sidecar进行交互。在应用程序和对应的Sidecar部署层面需要部署在同机可以是同一台物理机虚拟机也可以是同一个Pod思考下如果部署在不同的机器上就会又引入服务通信交互的问题那么就会变成无解的难题为了解决通信交互的问题又引入新的通信交互的问题。2.3 微服务架构2.0实践按照新的微服务架构2.0打造微服务架构1.0的升级演变如图8所示图 8 微服务架构2.0Service Mesh架构框架方面业内陆续开源了不少的优秀框架Istio是集大成者由Google、IBM、Lyft等三家公司联合打造并已经开源社区版本也已经发展到V1.4.2。IstioService Mesh逻辑上分为数据面板执行者和控制面板指挥者数据面板由一组智能代理Envoy组成代理部署为Sidecar调解和控制微服务之间所有的网络通信。控制面板负责管理和配置代理来路由流量以及在运行时执行策略。如图9所示控制面板Pilot、Mixer、Citadel加数据面板Envoy Proxy即是服务治理功能svcA和svcB是业务服务自身。图 9 Istio架构未来展望  与纯粹的微服务架构相比Service Mesh又向前迈了一步。它最大的优势是解耦应用业务企业能够彻底从业务角度考虑问题同时还可以与容器编排部署平台的集成成为企业级应用编排部署和服务治理的标准形态。但是企业想要全面切换到Service Mesh并不是一件易事还有一段路需要走。以Istio为例如果要切换会面临以下问题老服务切换到Istio的过程中由于历史服务使用的框架不同如何保证老服务的平稳迁移以及新老服务如何无缝交互是企业面临的第一个难题切换到Istio后由于通信链路会变长必将增加请求的响应延迟对请求响应延迟极其敏感的业务场景比如量化交易等场景增加的请求相应延迟对业务来说是致命的如何进一步优化处理Istio的Mixer功能存在单点瓶颈问题那么对高并发的业务场景如何突破是公司需要考虑和解决的问题切换到Istio将会增加基础设施团队的运维成本并且遇到业务问题定位问题涉及到业务研发团队和基础设施研发团队频繁沟通交互自然成本也会相应增加。第三Istio的Mixer功能存在单点瓶颈问题那么对高并发的业务场景如何突破是公司需要考虑和解决的问题第四切换到Istio将会增加基础设施团队的运维成本并且遇到业务问题定位问题涉及到业务研发团队和基础设施研发团队频繁沟通交互自然成本也会相应增加。作者简介孙玄毕业于浙江大学现任奈学教育科技公司创始人兼CEO前转转公司首席架构师技术委员会主席大中后台技术负责人交易平台、基础服务、智能客服、基础架构、智能运维、数据库、安全、IT等方向前58集团技术委员会主席高级系统架构师前百度资深研发工程师“架构之美” 〔beautyArch〕微信公众号作者擅长系统架构设计大数据运维、机器学习、技术管理等领域代表公司多次在业界顶级技术大会CIO峰会、Artificial Intelligence Conference、A2M、QCon、ArchSummit、SACC、SDCC、CCTC、DTCC、Top100、Strata Hadoop World、WOT、GITC、GIAC、TID等发表演讲并为《程序员》杂志撰稿 2 篇。为了助力对抗疫情减少线下人员流动和聚集CSDN与 PyCon 官方授权的 PyCon中国社区合作举行「Python开发者日」在线系列峰会。通过精彩的技术干货内容、有趣多元化的在线互动活动等让您足不出户便可与大咖学习交流共同渡过抗疫攻坚期。活动咨询可扫描下方二维码加入官方交流群⬇️⬇️⬇️福利扫描添加小编微信备注“姓名公司职位”入驻【CSDN博客】加入【云计算学习交流群】和志同道合的朋友们共同打卡学习 推荐阅读2020 年云游戏将爆发各大科技公司云游戏布局大曝光 5G 通信技术在远程医疗中的应用 GitHub 标星 14000阿里开源的 SEATA 如何应用到极致 远程办公众生相“云”吃饭、被窝打卡、梳妆台编程...... SIM卡交换攻击盗币猖獗比特币从业者如何自保 AAAI 2020论文解读商汤科技发布新视频语义分割和光流联合学习算法 真香朕在看了
http://www.pierceye.com/news/258657/

相关文章:

  • 工信部网站备案文件合肥网站制作建设
  • 网站架设标准网站域名注册费用
  • 东莞网站制作功能十堰微网站建设价格
  • google关键词分析工具网站建设seo 视频教程
  • 泸州市规划建设局网站网站建设及维护包括范围
  • 网站设计培训成都哪个网站开发软件
  • 四川炜航建筑公司网站新郑网络推广外包
  • 网站建设名头网站项目建设方案
  • 可以用asp做哪些网站简历模板大学生免费
  • 公司 宜宾网站建设头条小程序
  • 大连h5建站学院网站建设申请报告
  • 大蒜做营销型网站贵州最好的网站建设推广公司
  • 单仁资讯做网站怎样备案网站应用服务
  • 如何生成一个网站怎么查看一个网站有没有做推广
  • 温州网站设计案例wdcp创建多个网站
  • 做个公司网站专业做网站app的公司
  • 动漫网站源码下载莱芜金点子最新招工信息
  • 小区住宅可以注册公司吗简述seo的概念
  • 做农村电商要多少钱南宁软件优化网站
  • 网站系统建设技术服务费网站建设 专项资金变更
  • 网站建设画册怎么用eclipse做网页
  • 百度网站安全检测平台广州番禺营销型网站建设
  • 杭州大的做网站的公司甘肃省住房和城乡建设部网站首页
  • 网站建设与网页设计考试题棋牌软件开发搭建
  • 短链接生成网址wordpress主叶SEO优化
  • 免费的cms视频网站做cpa怎么建立自己网站
  • 在哪里找做网站的北京的招聘网站有哪些
  • 做旅行网站aspx网站开发
  • 网站接入服务器商查询wordpress更换端口
  • 网站网页设计师武义县网站建设