原文链接:Nacos~服务治理 – 编程屋
目录
1 前言
1.1 什么是服务治理
服务治理是微服务架构中最核心的基本模块。用于实现微服务的自动化注册与发现。
服务注册:在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服务的详细信息。并在注册中心形成一张服务的清单,服务注册中心需要以心跳的方式去检测清单中的服务是否可用,如果不可用需要在清单中剔除不可用的服务。
服务发现:服务调用方向服务注册中心咨询服务,并获取所有服务的实例清单,实现对具体服务实例的访问
1.2 常见的注册中心
1)Zookeeper
zookeeper是一个分布式的服务框架,是Apache Hadoop的一个子项目,它主要用来解决分布式应用中经常遇到的一些数据管理问题:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理。
2)Eureka
Eureka是Springcloud Netflix中的重要组件,主要作用就是做服务注册与发现。但是现在已经闭源。
3)Consul
Consul是基于Go语言开发的开源工具、主要面向分布式、服务化的系统提供注册服务、服务发现和配置管理的功能。Consul的功能都很实用,其中包括:服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证。Consul本身只是一个二进制的可执行文件,所以安装和部署都非常简单,只需要从官网下载后,在执行相应的启动脚本即可。
4)Nacos
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是Spring Cloud Alibaba组件之一,负责服务发现和服务配置,可以认为nacos=eureka+config
2 Nacos
2.1 Nacos-Service安装
Nacos帮助致力于发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助快速实现服务发现,服务配置、服务元数据和流量管理。
下载:Releases · alibaba/nacos · GitHub
下载完成后双击解压,打开bin目录下的startup.cmd文件。
打开之后,不出意外的话,会报错。因为nacos的默认启动方式是集群模式,所以需要将其改为单机模式后重新打开。
重新启动,访问http://localhost:8848/nacos 账号/密码 都是nacos
2.2 结合微服务
微服务项目在上篇博客中已经讲过,这里不再过多介绍。将订单微服务和商品微服务都进行一下配置
1)在pom文件中加入依赖
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
2)在启动类上添加@EnableDiscoveryClient注解
3)在配置文件中添加nacos-server端地址
都配置成功后,启动shop-order微服务和shop-product微服务。发现这两个服务都已经注册到nacos中。
2.3 nacos获取配置
以上只是部分内容,为了维护方便,本文已迁移到新地址:Nacos~服务治理 – 编程屋