微服务 分布式、集群杂谈(思绪未整理)
2018-02-11 21:46
197 查看
集群与分布式的区别
集群是一个物理形态,分布式是一种工作方式集群
同一个业务,部署在多个服务器上,把ERP财务模块这个系统,在多台机器上部署,称为集群
分布式
一个业务拆分多个子业务,以集群的形式部署在不同的服务器上。以ERP系统为例,ERP系统6大模块 (人力资源、财务、仓存管理、生产管理、采购管理、销售管理),每个模块以集群的形式进行部署,这个ERP系统可以叫分布式系统
总结
集群一般是物理集中、统一管理的,而分布式是相对与中心化而言的,强调的是任务在多个物理隔离的节点上进行。
单体应用集群的主要问题
单体集群中心化带来的主要问题是可靠性,若中心节点宕机则整个系统不可用,分布式除了解决部分中心化问题例如一个开票员用户,在终端上传发票扫描文件,对她而言她只知道文件上传到服务器上了,不在乎后台是几台服务器,分布在那些机房。但是对于后台管理人员而言,同样是发票扫描件上传,我可以在东莞放置服务器处理华南地区的请求,在南京放置服务器处理华东区的请求,在德国放置服务器处理欧洲的请求,实现全球用户可上传文件的任务,从这个角度看,这是分布式的。
另一方面东莞的服务器可能有多台来同时处理华南区的请求,在前端做了负载均衡,其内部的运行逻辑完全完全一致,一台机器挂掉了对整体业务完全没有影响,所以这个角度看是集群;如果南京的服务器全挂了,那么华东区的用户就没得玩,以session缓存分布式的角度来讲可能是无能为力的,如果再次情况下,将所有华东区的请求转到华南区,以Token来实现,是否可以达到城市集群的概念
微服务与SOA
微服务是一种架构风格,也是SOA的一种,只是其中粒度更小更多,职责更加单一微服务相比于SOA更加精细,微服务更多的以独立的进程的方式存在,互相之间并无影响;
微服务提供的接口方式更加通用化,例如HTTP RESTful方式,各种终端都可以调用,无关语言、平台限制;
相对于大型的单体应用,或者粒度较大的分布式应用来说,应用的交付周期很长,对于功能的改动或者新增来说,修改一处,要测试整个流程,测试的工作量很大;而微服务可以带来应用的解耦和敏捷交付,可以把系统解耦为一系列单一服务的结果,应对bug和新需求是,可以通过敏捷交付的方式能够进行更快速的变更,而不必对整个系统进行全量编译构构建与部署。同时也带来一些问题,如微服务系统太多,之间的交互太复杂,而且一整个业务流程跨越的系统可能很多,对于定位分析一个问题时,日志的查找分析,是极其耗费其时间的,这就涉及到日志框架的采集汇总和存储了。
参考:
http://www.infoq.com/cn/articles/features-and-design-concept-of-distributed-system/
相关文章推荐
- 分布式、集群和微服务概念整理
- 分布式、集群和微服务概念整理
- 分布式、集群和微服务概念整理
- 分布式、集群和微服务概念整理
- windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)
- 分布式、集群、微服务的理解
- 流媒体sos rtsp hls h264 高并发 低延时 系统 设计 录像 视频合成 转发 点播 快进 快退 单步播放 分布式集群 服务搭建
- Redis笔记整理(二):Java API使用与Redis分布式集群环境搭建
- SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群
- 三分钟读懂TT猫分布式、微服务和集群之路 (转)
- 分布式-微服务-集群的区别
- 微服务分布式集群概念理解
- 阿里分布式开放消息服务(ONS)原理与实践——笔记整理
- windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)
- 分布式-微服务-集群的区别
- jQuery之事件对象/大数据,云计算,分布式,负载均衡,集群,微服务详解
- 分布式、集群、分布式服务框架
- 分布式协调服务zookeeper-集群安装
- 分布式服务管理框架-Zookeeper安装与配置(单机、集群)
- 三分钟读懂TT猫分布式、微服务和集群之路