分布式使用心得

来源:互联网 发布:淘宝天猫京东入驻条件 编辑:程序博客网 时间:2024/06/11 17:43

分布式主要作用?

分布式主要用来治理服务,可以使服务模块化,让数据库连接更清晰,可以对单个服务或模块做负载均衡,可以最大化的利用服务器。

分布式的好处?

业务解耦,方便扩容,方便系统按模块升级,模块重用,开发新业务简单,开发人员可以专注某一业务,方便代码管理,方便数据库优化

分布式的坏处?

分布式使得服务关系变得非常复杂,事务控制变得更加困难

分布式选型

        所以说我对分布式又爱又恨,如果没有好的框架支持,我是不会使用分布式的。分布式说白了就是远程调用,常见的远程调用有:RMI、WebService、Hessian、httpClient、socket,其他的就不列举了,大部分分布式框架都是基于这些封装的。

        RMIsocket是俩兄弟,相同特点就是RMI在TCP协议之上,自己封装了自己的协议,所以他俩速度差不多

Hessian是基于二进制传输,他和HttpInvoker都是基于servlet实现,Hessian有很好的序列化和反序列化机制,速度也很快

WebService也是一种常用方式,WebService的客户端调用其实是使用生成文件的方式,只要知道发布接口的URL即可,而不需要额外传递jar包或者class文件。

httpClient一般情况下不要用它,先不说一堆业务代码不说,性能也是问题,想要用好,还要各种手动封装。

对于项目来说,首先考虑的是可用性,其次才是性能。所以在选型的时候肯定是选最熟悉的,其次团队最熟悉的,比方说团队里这些远程调用都接触过那么就找已经封装过的框架,如果都只接触过一到两个,那就要好好考虑下了,不大家都不熟的框架,有时候一个小问题,也要花几天时间整。开始的时候我比较喜欢用hessian,不是因为他多好,而是因为spring支持很好,可以减少很多不必要的麻烦。后来发现dubbo更好,所有就换成dubbo了。


没有最好的框架,只有最适合团队的框架。


原创粉丝点击