侧边栏壁纸
博主头像
一定会去到彩虹海的麦当

说什么呢?约定好的事就一定要做到啊!

  • 累计撰写 63 篇文章
  • 累计创建 16 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

Spring Cloud Alibaba

一定会去到彩虹海的麦当
2022-07-24 / 0 评论 / 0 点赞 / 35 阅读 / 2,473 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-07-28,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Spring Cloud Alibaba

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式 应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发 分布式应用服务

image-20220719185206174

Nacos 注册中心

简介

Nacos 致力于发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速 实现动态服务发现、服务配置、服务元数据及流量管理

核心概念

  1. 服务 (Service)

    服务是指一个或一组软件功能(例如特定信息的检索或一组操作的执行),其目的是不同的客 户端可以为不同的目的重用(例如通过跨进程的网络调用)。

  2. 服务注册中心 (Service Registry)

    服务注册中心,它是服务实例及元数据的数据库。服务实例在启动时注册到服务注册表,并在 关闭时注销。服务和路由器的客户端查询服务注册表以查找服务的可用实例。服务注册中心可 能会调用服务实例的健康检查 API 来验证它是否能够处理请求

  3. 服务元数据 (Service Metadata)

    服务元数据是指包括服务端点(endpoints)、服务标签、服务版本号、服务实例权重、路由规 则、安全策略等描述服务的数据

  4. 服务提供方 (Service Provide)

    是指提供可复用和可调用服务的应用方

  5. 服务消费方 (Service Consumer)

    是指会发起对某个服务调用的应用方

  6. 配置 (Configuration)—配置文件中心

    在系统开发过程中通常会将一些需要变更的参数、变量等从代码中分离出来独立管理,以独立 的配置文件的形式存在。目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地 和实际的物理运行环境进行适配。配置管理一般包含在系统部署的过程中,由系统管理员或者 运维人员完成这个步骤。配置变更是调整系统运行时的行为的有效手段之一。

  7. 配置管理 (Configuration Management)

    在数据中心中,系统中所有配置的编辑、存储、分发、变更管理、历史版本管理、变更审计等 所有与配置相关的活动统称为配置管理。

  8. 名字服务 (Naming Service)

    提供分布式系统中所有对象(Object)、实体(Entity)的“名字”到关联的元数据之间的映射管理服务

  9. 配置服务 (Configuration Service)

    在服务或者应用运行过程中,提供动态配置或者元数据以及配置管理的服务提供者。

NacosServer的安装和启动

  1. 下载

地址: https://github.com/alibaba/nacos/releases/tag/1.4.2

  1. 修改配置文件

    进入${Nacos}/conf 目录里面,使用文件编辑器打开 application.properties 文件

    image-20220719185959107

    Nacos 默认使用嵌入式数据库实现数据的存储,并不方便观察数据存储的基本情况,这里面 我们修改为使用 Mysql 数据库做数据的存储,方便我们观察数据的结构。

    在配置文件末尾添加如下配置:

    spring.datasource.platform=mysql
    db.num=1
    db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1
    000&socketTimeout=3000&autoReconnect=true
    db.user=root
    db.password=123456
    
  2. Mysql 表的导入

    在 config 目录下找到对应的 sql 脚本,提示:Nacos 建议使用 5.7 的 Mysql 数据库,版本 较低或者较高可能存储兼容性问题

    image-20220719190104304

    创建数据库,运行 sql 脚本

    image-20220719190122013

  3. NacosServer 的启动

    可以直接 startup.cmd -m standalone 启动单击版本 上面工作都完成后,现在我们来启动一个单机版的 Nacos 服务器。 进入到${Nacos}/bin 目录里面

    使用 nodepad++打开 startup.cmd 修改默认参数 将 set MODE=”cluster”修改为 standalone

image-20220719190214790

双击 startup.cmd 文件,完成 nacosServer 的启动

image-20220719190238791

http://localhost:8848/nacos ,即可访问启动 Nacos 实例

image-20220719190249937

Nacos 默认用户名和密码都是 nacos。 如果想修改密码,可以直接修改数据库的 user 表,密码可以使用 BcryptPasswordEncoder 加密

输入正确的用户名和密码提交后,出现 Nacos 的控制台界面

使用Nacos作为注册中心

引入依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

修改配置文件

server:
  port: 8001
spring:
  application:
	name: alibaba-nacos-consumer
  cloud:
	nacos: # 客户端注册的地址
	  server-addr: localhost:8848
	  username: nacos
	  password: nacos
	# discovery: # 命名空间 可以做项目隔离
		# namespace: car-namespace
		# group: dev # 在命名空间下的组别,可以用来做细粒度的隔离

修改启动类

@SpringBootApplication
@EnableDiscoveryClient //开启服务发现客户端 也就是 nacosServer 的客户端
public class AlibabaNacosConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(AlibabaNacosConsumerApplication.class, args);
    }
}

Nacos Discovery Starter 更多的配置

image-20220719190647422

0

评论区