在学习微服务的时候,我们都会听到两个词:注册中心、配置中心。
什么是注册中心呢?
解释这个问题前,要先了解下什么是微服务结构,就我个人的理解,以前一个大型项目,有许多模块,例如用户管理模块、系统管理模块、订单模块、商品模块、库存模块.........,整个项目可能单单java文件就能有几百上千个。这种大项目打一次war包可能就要几十分钟甚至几个小时,而且这种大项目在一个服务器上跑,浪费的资源是十分大的,而且访问量也低,这就是早期的单体项目。后来人们将这个大项目按模块拆开,各个模块自己作为一个web项目,彼此之间通过网络进行服务器间的通讯(RPC、webservice、HTTP等),各个模块自己随意部署,就渐渐演变成分布式项目。微服务和分布式其实是差不多的东西,都是将大项目拆解成小项目。
各个项目模块间通过网络进行通信,那各个项目就必须知道其他项目运行那哪一个机器上,IP是多少,端口是多少。如果我们部署的机器不多,而且都很固定,那我们可以直接写死在程序里。但是烦人的运维总是说机器性能不行,要把某个模块的项目部署多几个机器上,这样就又出现了一个新名词:集群。
这样子多部署几个项目虽然解决了性能和访问量的问题,但是频繁加机器减机器,就使得管理IP和端口变成了噩梦。于是乎,技术大佬们就开始想:能不能每次启动一个项目,就让他自己获取IP和端口,然后丢到网络上的某个地方,其他项目要用时就自己去取呢?为解决这个问题,大佬自己打算自己撸一个项目。这个项目就叫“IP端口管理中心”,只提供两个接口:1、接收别人发送的ip和端口信息并存储起