分布式与微服务的区别:说一点个人理解
分布式:
分散压力。
不同功能块之间的通讯少,还是会有不少代码,每一块可能都会有重复的代码
分布式我的理解就是分的颗粒更大一些,就像A厨师负责做一个菜,B厨师负责做另外一个菜一样,A厨师负责的菜他需要自己买菜洗菜炒菜等
微服务:
分散能力。不同功能块之间通讯多,每一块完成自己独有的功能重代码少,但是如果一块很少的功能和处理都去调用接口的话,会比较影响处理的效率哇,不过没关系这些重复的代码都可以代码自动生成了
类似一个厨师炒一个菜,比如这个厨师只负责炒菜,买菜,切菜,洗菜都是单独的一个人,或者几个人,如果有几个人就是集群的概念
微服务在于一个微字,分得比较细,分布式的话分得很大颗粒
微服务其实和一个项目分层类似,一个项目分层是为了减少重复代码,模块能够重复利用,微服务其实也是一个道理,只是他是把一个模块 作为一个项目独立分出去
微服务项目中各个功能模块相互独立分散,耦合性很低,如何很好的统一调度,统一管理就是一个很重要的问题,
不要项目各个模块之间会很混乱
关于图片,样式,js等静态资源存储问题
在分布式架构中图片,样式,js等静态资源可以单独存储在一个地方,而不是在每个项目中都去存储一份,
因为项目会有多个,如果存储在项目中不是很好的统一管理这些静态资源。也不好对这些静态资源对单独的
集群什么的。
缓存更新问题
在项目中我们如果使用了redis这类缓存,提高查询效率,同时也增加了项目的维护成本。我们修改或者添加了东西,
可能会去同步更新缓存,这个时候我们最好把同步更新缓存的单独提出来写,作为整体项目的一个服务来处理,这样
不同的项目模块就访问这个模块就好了,就会避免出现重复的代码。不然很多模块可能会需要处理缓存同步,就会
出现很多重复代码!其他模块访问更新缓存的服务器,可以使用消息队列来通讯。
为什么要使用配置中心
配置中心的好处就是可以独立开项目管理所有的配置,而且可以用一个项目来配置不是比修改配置文件来得更爽么
不然你做了分布式做了集群,或者使用docker部署了项目,你通过配置文件修改是很麻烦的,而且做了集群可能还要在几个地方重复的改
还能随时一目了然的看到配置的内容,以及历史记录等
欢迎加群讨论技术,群:677373950(满了,可以加,但通过不了),2群:656732739