架构的演进

本文探讨了从垂直应用架构到RPC架构再到SOA服务化架构的演进过程,强调了服务注册中心、分布式消息跟踪系统、服务治理的重要性。在SOA架构中,介绍了面向服务设计的原则和服务治理的关键点,如服务生命周期管理、性能监控、故障定界等,指出服务治理对于大规模分布式系统运维的关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、垂直应用架构

     1、原理 略

二、RPC架构 

1、原理略

2、业界开源的rpc框架有很多,比较主流的rpc框架有:

     1)facebook开发的远程服务调用框架  apache thrift

     2)hadoop的子项目 Avro Rpc

     3)caucho提供的基于binary-RPC实现的远程通信框架 Hessian

     4)google开源的基于HTTP/2和ProtoBuf的通用框架 gRPC

3、面临的挑战:

       在大规模服务化之前,应用可能只是通过rpc框架,简单的暴露和引用远程服务,通过配置服务的url地址进行远程服务调用,路由则通过F5硬件负载均衡器或者SLB进行简单的负载均衡。

       当服务越来越多,服务Url配置管理变得很困难,F5等硬件负载均衡服务器的单点压力也越来越大。此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。消费者在本地缓存服务提供者列表  实现软负载均衡,这可以降低对F5等昂贵的硬件负载均衡服务器的依赖,从而降低成本。

       随着业务的发展,服务之间的依赖关系变得错综复杂,甚至分不清楚哪个应用要在哪个应用前启动,就连架构师也不能完整的描述应用之间的调用关系,此时需要一个分布式消息跟踪系统  可视化展示服务调用链,用于依赖分析、业务调用路径的梳理等,帮助架构师清理不合理的服务依赖,防止服务架构变质。

       服务的调用量越来越大,此时服务的容量问题就暴露出来了,某个服务需要多少机器支撑?什么时候该加机器?为了解决容量规划问题,需要采集服务调用KPI数据,进行汇总和分析,通过计算得出服务部署实例数和服务的配置规格。

       服务上线容易下线难,上线前的审批,下线通知,需要统一的服务生命周期管理流程进行管理。不同的服务安全权限不同,如何保证敏感数据不会误调用?服务的访问安全策略又如何保证?

       服务化以后,随之而来的就是服务治理问题。目前业界开源的纯粹的rpc框架,服务治理能力都不健全,当应用大规模服务化后会面临许多服务治理 方面的挑战,要解决这些问题,必须通过服务框架+服务治理来完成,单凭rpc框架无法解决服务治理问题。    

三、SOA服务化架构

      SOA是一种粗粒度、松耦合的  以服务为中心的架构,接口之间通过定义明确的协议和接口进行通信。

      SOA帮助攻城狮们站在一个新的高度理解企业级架构中各种组件的开发和部署形式,它可以帮助企业系统架构师以更迅速、可靠和可重用的形式规划整个业务系统。相比于传统的非服务化架构,SOA能更从容的应对复杂企业系统集成和需求的快速变化。

1、SOA面向服务设计的原则

     1)服务可重用:不管是否存在马上服用的机会,服务均设计为支持潜在的可重用。

     2)服务共享一个标准契约:为了与服务提供者交互,消费者需要导入服务提供者的服务契约,这个契约可以是一个IDL文件、java接口定义、WSDL文件,甚至是一个接口说明文档。

     3)服务是松耦合的:服务被设计为功能相对独立、尽量依赖其他服务的独立功能提供者。

     4)服务是底层逻辑的抽象:只有经服务契约所暴露的服务对外部世界可见,契约之外底层的实现逻辑是不可见的。

     5)服务是可组合、可编排的:多给我服务可能会被组合成一个新的服务,这允许不同逻辑抽象的自由组合,促进服务的复用。

     6)服务是自治的:逻辑由服务所控制,并位于一个清晰的边界内,服务已经在边界内被控制,不依赖于其他服务

     7)服务是可被自动发现的:服务发布上线后,允许被其他消费者自动发现,当服务提供者下线后,允许消费者接收服务下线通知。

2、服务治理

     SOA服务化后,随着业务的不断发展,服务数量越来越多,应用服务化后,给系统运维带来了挑选:

     1)分布式框架下的服务调用性能

     2)服务化如何支持线性扩展

     3)如何实现高效、实时的服务多维度监控

     4)大规模分布式环境下的故障快速定界和定位

     5)分布式环境下海量日至在线检索与模糊查询

     6)服务的流控,超时控制,服务升降机等管控手段

     7)服务的划分原则,如何实现最大程度复用

     。。。。

此时,SOA服务治理是关键,SOA服务治理主要包括:

     1)服务定义:SOA治理最基础的方面就是监视服务的创建过程。必须对服务进行标识,藐视其功能,确定其行为范围并设计其接口。创建服务时,需要与使用这些服务的团队进行协调,以确保服务能够满足消费者需求,避免重复工作。

     2)服务生命周期管理:服务要进行规划、设计、实现、部署、并最后下线。服务开发生命周期通常具备五个主要阶段:计划阶段--已标识了新服务并正在设计中,不过尚未完成或正在实现中;测试阶段--服务开发完成后,

 

 

算了算了,还是看书吧《分布式服务框架原理与实践》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值