关于微服务、分布式架构、集群的一点想法
关于微服务、分布式架构、集群的一点想法
一点想法,有问题请多指教
微服务
微服务顾名思义就是微小的服务
微服务的核心是将大项目划分成小的服务,最好使用分布式,也就是说微服务不一定是分布式的,但是一般是使用分布式
假如是一台服务器:
不同的服务分别部署同一台服务器,使用不同的端口,通过网络通信实现各个服务之间的访问
微服务架构
可以认为是一种思想,用微服务实现,将应用的各个模块解耦成小部分,实现原子性
优点
耦合度小,开发人员只需要关心属于自己的这一部分
某一服务挂了不会影响整体
缺点
对于部署的要求提升
分布式架构
分布式是指通过网络连接的多个组件,通过交换信息协作而形成的系统。
将应用的各个模块分别部署,通过网络实现通信
极端的情况:
分布式的各个服务足够解耦,就可以认为是微服务架构
个人认为,分布式的性能提升还是在体现在物理地提升服务器数量来提高网站性能
如果只有一台服务器分布式可以说毫无意义,甚至说,一台服务器上的分布式会比单体式性能更差(个人猜测,因为分布式需要不同端口间通信,应该会带来性能的损耗)
集群
集群,是指同一种组件的多个实例,形成的逻辑上的整体。
在所有架构上,合理分配各个服务器,也就是合理使用集群都能提升性能
单体式架构在多台服务器上都部署,使用Nginx负载均衡就可以调节每一台服务器的访问量,多台服务器协同合作,共同承担访问压力增强了网站性能
分布式架构将不同模块部署在不同服务器上,可能A模块需求量大,就在10台服务器上都部署了,再通过负载均衡的方法提高整体的性能