java—17 微服务框架

springcloud技术栈分两个分支:Netflix   Alibaba  (springcloud是一个协议)

Nacos(配置中心 注册中心)

Netflix (config     Eureka)

一、Nacos配置中心

1. 配置中心简介

应用程序在启动和运行的时候,往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数据库连接参数、启动参数等。

配置主要有以下几个特点:

① 配置是独立于程序的只读变量

配置对于程序是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配置。

② 配置伴随应用的整个生命周期

配置贯穿于应用的整个生命周期,应用在启动时通过读取配置来初始化,在运行时根据配置调整行为。比如:启动时需要读取服务的端口号、系统在运行过程中需要读取定时策略执行定时任务等。

③ 配置可以有多种加载方式

常见的有程序内部硬编码、配置文件、环境变量、启动参数、基于数据库等。

④ 配置需要治理

同一份程序在不同的环境 (如:开发、测试、生产)、不同的集群(如:不同的数据 中心)经常需要有不同的配置,所以需要有完善的环境,集群配置管理。

假如没有配置中心:在微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后, 配置文件也必须跟着迁移(分割),这样配置就分散了。不仅如此,分散中还伴随着冗 余。

配置中心:管理分散的配置

服务中心:管理服务的配置

建立配置中心后:创建配置中心,将配置从各个应用中剥离出来,对配置进行统一管理,应用自身不需要自己去管理配置。  配置中心的服务流程:首先,用户在配置中心更新配置信息;然后,服务群及时得到配 置更新通知,并从配置中心获取最新配置。总体来说,配置中心就是一种统一管理各种应用配置的基础服务组件

配置中心在微服务中的地位:在系统架构中,配置中心是整个微服务基础架构体系中的一个组件,它的功能看上去并不 起眼,无非就是配置的管理和存取,但它是整个微服务架构中不可或缺的一环。

主流配置中心对比:

Disconf:百度开源的配置管 理中心,目前已经不维护了。

Config: Spring Cloud生态 组件,可以和Spring Cloud体 系无缝整合。

Apollo: 携程开源的配置管 理中心,具备规范的权限、流 程治理等特性。

Nacos: 阿里开源的配置中心, 也可以做DNS和RPC的服务发 现。

2. Nacos简介

Nacos是阿里的一个开源产品,它是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。

nacos官网:Nacos官网| Nacos 配置中心 | Nacos 下载| Nacos 官方社区 | Nacos 官网

Nacos的功能:

①动态配置服务:

动态配置服务让用户能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。

②服务发现及管理

动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以房子将请求发往不健康的主机或服务实例。借助Nacos,可以更容易地为服务实现断路器。

③动态DNS服务

通过支持权重路由,动态DNS服务能让用户轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单NDS解析服务。动态DNS服务还能让用户更容易地实现以DNS协议为基础的服务发现,以消除耦合到厂商私有服务发现API上的风险。

3. Nacos安装

下载地址 https://github.com/alibaba/nacos/releases

解压:unzip nacos-server-xxx.zip 或者 tar -zxvf nacos-server-2.4.3.tar.gz -C /usr/local

启动/关闭服务器

到bin目录下启动命令(standalone代表着单机模式运行):sh startup.sh -m standalone

启动完成后查看nacos启动状态:tail -f /usr/local/nacos/logs/start.out

关闭命令:sh shutdown.sh

访问Nacos控制台

访问:

默认用户名:nacos

默认密码:nacos

application.properties中改连接数据库的配置:

 db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
 db.user.0=nacos
 db.password.0=nacos

从conf/mysql-schema.sql 中获取SQL建表的脚本。

OPEN API配置管理测试

服务注册 curl -X POST 'http://192.168.153.132:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'

服务发现 curl -X GET 'http://192.168.153.132:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'

发布配置 curl -X POST "http://192.168.153.132:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"

获取配置 curl -X GET "http://192.168.153.132:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

在postman中测试以上请求,注意请求地址的ip要改成nacos服务器的ip:

服务注册:

服务注册后在nacos中可以看到:

服务发现:

发布配置

可以看到:

获取配置:

4. Nacos的操作与使用

控制台界面发布配置操作:

代码中依赖:

<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-client</artifactId>
    <version>1.1.1</version>
</dependency>

二、Nacos注册中心

三、

四、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值