2016 - 2024

感恩一路有你

分布式架构 技术架构为什么要服务化?

浏览量:2147 时间:2021-03-28 07:54:52 作者:admin

技术架构为什么要服务化?

关乎体量和需求的增长变化

首先明确,服务化的本质是依托实际需求的。假如你的系统只有几十几百个人使用,在当下的技术架构中单体应用完全足够,这时候追逐服务化反而是一种舍本逐末,捡芝麻丢西瓜的举动了。为什么要服务化?因为单体应用面临越来越多的系统需求功能迭代、面对越来越多的用户使用,无法保证稳定性、可靠性、可扩展性。还存在模块间流量不平衡,资源权重无法得到有效分配的一大批问题。伴随系统越来越庞大,彼此间耦合的调用关系到处都是,很有可能牵一发动全身。对产品的可维护性来说也变差了。

服务化优势

当企业面临单体应用的瓶颈问题是,可以果断采取服务化改造优势如下。

1、减少耦合,梳理关系。

2、明确服务重点,有侧重进行资源分配。

3、减少单点故障发生。

4、服务升级易于扩展。

微服务调用为什么用RPC框架,http不更简单吗?

简单点,HTTP是协议,RPC是概念!实现RPC可以基于HTTP协议(Feign),TCP协议(Netty),RMI协议(Soap),WebService(XML—RPC)框架。传输过程中,也因为序列化方式的不同,又有一些框架和协议,比如Dubbo中的Dubbo协议,gRpc—Protobuf序列化协议等等。其实,都是基于远程调用的概念,何为远程调用?

重点是,RPC就是远程调用,远程调用就是客户端把调用的接口,参数,参数类型,方法,返回值,返回值类型等(这些称为方法签名),通过如上的协议,发送给服务端,告知服务端需要调用的接口方法,这个过程就是RPC的实现过程!HTTP和RPC是不同层面的两个东西!

性能方面,HTTP本身是基于TCP协议的,属于应用层协议,所以HTTP协议本身在实现过程中就会占用大量的资源(内存,带宽等),性能上肯定没有通过TCP直接实现RPC协议快,不管HTTP如何优化肯定的是不如TCP的!而TCP则是依靠字节码,现在普遍采用的是将客户端调用的接口信息,序列化的方式发送给服务端,序列化框架又包含很多(Hession,Protobuf,Kryo等等,序列化性能最高的是Kryo,序列化后字节码最小的是Protobuf),序列化后的字节码越小,占用带宽越少,序列化时间越短,线程IO等待时间就会越小。所以,在具体应用层面有很多可探讨的技术,可以根据自己的硬件能力来选择相应的技术就可以了!

欢迎热爱技术的人来探讨!

如何才能成为java架构师?我为大家来分析一下?

首先架构师不是那么好当,技术实力一定要过关,要具有架构师的思想,其次架构师是企业级开发所需的Dubbo框架、zookeper基本原理、redis分布式缓存、JVM性能优化,Nginx apache Tomcat集群部署、大数据hadoop,Hbase实时计算spark、storm、数据分析分词和权重等核心技术。

如何成为一个优秀的架构师呢?我用七张图片来告诉大家。

另外的四张图片想成为架构师的可以私信我,每天更新java架构师技术视频资料。

大家可以先学习下分布式锁的实现:

链接: https://pan.baidu.com/s/1y8rkldBEpkHXHS3GvJXGTg 密码: umu3

分布式架构 管理分类 新型管理模式有哪些

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。