SpringCloud Eureka注册中心如何快速上手?

摘要:SpringCloud 微服务 微服务是一种全新的架构风格。其优点主要有: 微服务把一个庞大的单体应用分解成一个个小型服务,比如图书管理系统,有登录、注册、搜索、借阅等功能,我们可以将这些姑奶奶单独做成一个小型的Spring Boot项目,
SpringCloud 微服务 微服务是一种全新的架构风格。其优点主要有: 微服务把一个庞大的单体应用分解成一个个小型服务,比如图书管理系统,有登录、注册、搜索、借阅等功能,我们可以将这些姑奶奶单独做成一个小型的Spring Boot项目,独立运行。 每个小型的微服务,都可以独立部署和升级,这样即使系统崩溃,那么也只会影响一个服务的运行。 微服务之间使用HTTP进行数据交互,不再是但团体应用内部交互,这样虽然麻烦些,但带来的好处很多,不同的微服务可以使用不同的编程语言进行开发,只需要使用HTTP进行数据交互即可。 可以使用多台主机分别部署这些微服务,这样单机的压力分散到多台机器,而且每台的配置不需要很高,这样能节省成本,安全性也得到保证。 甚至一个微服务可以部署多个,这样当其中一个服务器出现问题时,其他服务器也在运行同样的服务。保证了服务的高可用。 但是微服务也存在很多问题: 实现微服务不是简单的将项目进行拆分,还要对各个微服务进行管理、监控等。这样才能及时地寻找和排查问题。因此微服务往往需要的时一套解决方案。包括服务注册与发现、容灾处理、负载均衡、配置管理等。 不方便维护。由于部署在多个服务器,不得不去保证各个微服务能够稳定运行,在管理难度上高于单体应用。 在分布式环境下,单体应用的某些功能可能会变得比较麻烦,比如分布式事务。 为了解决这些问题,所以需要应用SpringCloud: SpringCloud是一条分布式解决方案,集合了一些开源产品,包括诸多组件,共同组成SpringCloud框架。并且利用SpringBoot的开发便利性巧妙的简化了分布式系统基础设施的开发,如服务发现注册、配置中学、消息总线、负载均衡、熔断机制、数据监控等,都可以利用SpringBoot的开发风格做到一键启动和部署。 Eureka-实现服务质量(服务注册与发现),我们可以对所有的微服务进行集中管理,包括他们的运行状态、信息等。 Ribbon-为服务之间相互调用提供负载均衡算法(已被SpringCloudLoadBalancer取代) Hystrix-断路器,保护系统,控制故障范围。类似于保险丝,当发生危险时能防止进一步的发展。 Zuul-api网关、路由、负载均衡等多种作用,就像路由器一样,可能有多个设备都连接了路由器,但数据包要转发给谁则是由路由器在进行(已被SpringCloudGateWay取代) Config-配置管理,实现配置文件集中管理 Eureka 注册中心 对单体应用进行拆分之后,服务之间可以相互调用,但是这样部署和维护起来很麻烦,如果微服务端口或者地址发生大规模的改变,我们不得不修改调用代码。为了削弱这种服务之间的强关联性,我们需要借助注册中心来管理服务。 Eureka能自动注册并发现微服务,然后对服务的状态、信息进行集中管理这样当我们需要获取其他服务的信息时,只需要向Eureka进行查询就可以了。
阅读全文