从零搭建微服务-注册中心(二)

news2024/11/15 15:28:51

写在最前

如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。

源码地址:https://gitee.com/csps/mingyue

文档地址:https://gitee.com/csps/mingyue/wikis

核心依赖

需要注册配置中心的服务引入下面

<!-- SpringCloud Alibaba Nacos -->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

核心注解

启动类增加 @EnableDiscoveryClient 注解,下面以 mingyue-auth 为例:

@EnableDiscoveryClient
@SpringBootApplication
public class MingYueAuthApplication {

	public static void main(String[] args) {
		SpringApplication.run(MingYueAuthApplication.class, args);
	}

}

统一 Nocos 服务信息

打开 mingyue 的 pom.xml 文件

<profile>
    <id>dev</id>
    <properties>
        <!-- 环境标识,需要与配置文件的名称相对应 -->
        <profiles.active>dev</profiles.active>
        <nacos.server>mingyue-register:8848</nacos.server>
        <nacos.username>nacos</nacos.username>
        <nacos.password>nacos</nacos.password>
        <nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
        <nacos.config.group>DEFAULT_GROUP</nacos.config.group>
    </properties>
    <activation>
        <!-- 默认环境 -->
        <activeByDefault>true</activeByDefault>
    </activation>
</profile>

注册认证中心

配置迁移

远 application.yml 原内容迁移到 nacos mingyue-auth.yml 配置中

# 认证中心配置
spring:
    # Redis配置 (SSO模式一和模式二使用Redis来同步会话)
    redis:
        # Redis数据库索引(默认为0)
        database: 1
        # Redis服务器地址
        host: mingyue-redis
        # Redis服务器连接端口
        port: 6379
        # Redis服务器连接密码(默认为空)
        password:
        # 连接超时时间
        timeout: 10s
        lettuce:
            pool:
                # 连接池最大连接数
                max-active: 200
                # 连接池最大阻塞等待时间(使用负值表示没有限制)
                max-wait: -1ms
                # 连接池中的最大空闲连接
                max-idle: 10
                # 连接池中的最小空闲连接
                min-idle: 0

# Sa-Token 配置
sa-token:
    # token名称 (同时也是cookie名称)
    token-name: Authorization
    # OAuth2.0 配置
    oauth2:
        is-code: true
        is-implicit: true
        is-password: true
        is-client: true

修改 application.yml

# 端口
server:
    port: 9000

spring:
    application:
        name: @artifactId@
    profiles:
        # 环境配置
        active: @profiles.active@
    cloud:
        nacos:
            # nacos 服务地址
            server-addr: @nacos.server@
            username: @nacos.username@
            password: @nacos.password@
            discovery:
                # 注册组
                group: @nacos.discovery.group@
                namespace: ${spring.profiles.active}
            config:
                # 配置组
                group: @nacos.config.group@
                namespace: ${spring.profiles.active}
    config:
        import:
            - optional:nacos:application-common.yml
            - optional:nacos:${spring.application.name}.yml

启动项目

配置完成后,启动项目,测试一下登录与登出是否有问题。查看 nacos 服务是否注册成功

http://mingyue-register:8848/nacos (自行配置一下 host 映射)

image-20230531194540745

注册网关中心

先创建网关模块

添加 application.yml

# 端口
server:
    port: 9200

spring:
    application:
        name: @artifactId@
    profiles:
        # 环境配置
        active: @profiles.active@
    cloud:
        nacos:
            # nacos 服务地址
            server-addr: @nacos.server@
            username: @nacos.username@
            password: @nacos.password@
            discovery:
                # 注册组
                group: @nacos.discovery.group@
                namespace: ${spring.profiles.active}
            config:
                # 配置组
                group: @nacos.config.group@
                namespace: ${spring.profiles.active}
    config:
        import:
            - optional:nacos:application-common.yml
            - optional:nacos:${spring.application.name}.yml

启动项目

同认证中心一样操作

小结

目前已经有了 mingyue-register(注册中心)mingyue-auth(认证中心)mingyue-gateway(网关中心)服务。接下来我们通过 mingyue-gateway(网关中心) 来访问 mingyue-auth(认证中心),并修改前端登录接口实现如下流程:

image-20230531201001455

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/594278.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CountDownLatch详解以及用法示例

一、什么是CountDownLatch CountDownLatch中count down是倒数的意思&#xff0c;latch则是门闩的含义。整体含义可以理解为倒数的门栓&#xff0c;似乎有一点“三二一&#xff0c;芝麻开门”的感觉。 CountDownLatch的作用也是如此&#xff0c;在构造CountDownLatch(int coun…

订单管理轻松上手:低代码平台助力企业数字化转型

随着电子商务的发展和普及&#xff0c;企业的订单管理工作变得越来越复杂&#xff0c;传统的手工处理方式已经无法满足企业的需求&#xff0c;需要一种更高效、更精确、更可靠的订单管理方式。而低代码技术正是满足这一需求的一种有效解决方案。 一、订单管理的重要性 企业的…

高频面试八股文原理篇(三)Array,Vector,ArrayList和LinkedList区别

目录 数组(Array)和列表(ArrayList)的区别 Arrays工具类 Vector,ArrayList, LinkedList的区别 ArrayList扩容机制&#xff08;原理) arrayList为什么线程不安全&#xff1f; 数组(Array)和列表(ArrayList)的区别 Array可以包含基本类型和对象类型&#xff0c;ArrayList只能…

电脑重装系统后,打印机驱动没了怎么办

驱动人生获悉&#xff0c;据微软最新消息&#xff0c;23年6月将对Windows 10进行强制升级&#xff0c;自动升级到22H2版本。不少用户听闻后&#xff0c;开始纷纷将系统重装到了Windows 11等&#xff0c;不过升级也以为着很多系统的东西需要推倒重来&#xff0c;其中就包括打印机…

Jupyter Notebook如何导入导出文件

目录 0.系统&#xff1a;windows 1.打开 Jupyter Notebook 2.Jupyter Notebook导入文件 3.Jupyter Notebook导出文件 0.系统&#xff1a;windows 1.打开 Jupyter Notebook 1&#xff09;下载【Anaconda】后&#xff0c;直接点击【Jupyter Notebook】即可在网页打开 Jupyte…

【C++中map和unordered_map存储自定义类型需要做什么】

目录 一、map存储自定义类型 二、unordered_map存储自定义类型 一、map存储自定义类型 需要传入的参数是key-value键值对&#xff0c;和仿函数类型 对于内置类型&#xff0c;int、double、char重载了operator<所以传入less仿函数不会出错 但是对于自定义类型&#xff0c;如…

MySQL 视图 浅入浅出

前提 最近公司接了一个项目&#xff0c;项目是将一份内容丰富且包含大量数据透视表&#xff08;之所以称为数据透视表&#xff0c;是因为可以动态地改变它们的版面布置&#xff0c;以便按照不同方式分析数据&#xff0c;也可以重新安排行号、列标和页字段。每一次改变版面布置…

搭建一个AI对话机器人——前端ChatUI使用纪录

最近在使用 OpenAI 的 gpt api 搞着玩玩&#xff0c;然后就遇上了前端对话交互实现的需求场景&#xff0c;如何快速实现 CUI&#xff08;Chat User Interface&#xff09;成了问题。最后选择了来自阿里达摩院的ChatUI&#xff0c;本人便用于整理其使用经验。 介绍 服务于对话领…

自动驾驶 | 使用机器学习方法的GNSS多径检测

来源&#xff1a;投稿 作者&#xff1a;小灰灰 编辑&#xff1a;学姐 论文标题&#xff1a;GNSS Multipath Detection Using a Machine Learning Approach 论文链接&#xff1a;https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber8317700 摘要 在高度城市化地区…

Yolov8轻量化:EMO,结合 CNN 和 Transformer 的现代倒残差移动模块设计,性能优于EdgeViT、Mobile-former等网络

论文: https://arxiv.org/pdf/2301.01146.pdf 🏆🏆🏆🏆🏆🏆Yolo轻量化模型🏆🏆🏆🏆🏆🏆 重新思考了 MobileNetv2 中高效的倒残差模块 Inverted Residual Block 和 ViT 中的有效 Transformer 的本质统一,归纳抽象了 MetaMobile Block 的一般…

JAVA基础JVM讲解

JVM体系结构 主要包括两个子系统和两个组件&#xff1a; Class loader(类装载器) 子系统&#xff08;用来装载.class文件&#xff09;; Execution engine(执行引擎) 子系统&#xff08;执行字节码&#xff0c;或者执行本地方法&#xff09;&#xff1b; Runtime data area (…

2023年6月18日DAMA-CDGA/CDGP数据治理认证报名指南

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

弹性及其应用

弹性 衡量了买者和卖者对市场环境变化作出反应的程度大小是我们能够更精确的分析供给和需求 需求的价格弹性 给定百分之一的价格变化&#xff0c;需求量变量的百分数就是需求的价格弹性它衡量了一种物品的需求量对该物品价格变化作出反应的程度大小 需求价格弹性的决定因素…

手把手教你搭建OpenStack云平台(超级详细)

一、前言 OpenStack云平台搭建需要两个节点&#xff0c;一个是controller&#xff08;控制节点&#xff09;&#xff0c;另一个是compute&#xff08;计算节点&#xff09;。 控制节点&#xff08;controller&#xff09;规划如下&#xff1a; 一块200G的硬盘。两块网卡&#x…

天地图下载数据的方法

天地图下载数据的方法&#xff0c;目前我知道的&#xff0c;部分数据可以下载&#xff0c;部分数据不提供下载&#xff08;但是有数据&#xff09;具体就不知道原因了&#xff0c;话不多说&#xff1a; 登录全国地理信息资源目录服务系统&#xff08;全国地理信息资源目录服务…

cuda编程

https://docs.nvidia.com/cuda/index.html 这里写目录标题 OpenCL 与OpenGlrelease noteCUDA Features Archivensight visual studio安装指导本地下载和网络下载 bili 视频1c2050 版本Fermi架构3接口延迟cpu逻辑控制&#xff0c;管理 GPU计算核心连接 GPU硬件架构综述架构2atom…

Revit中如何使创建的族文件内存变小

族文件的大小直接影响到项目文件的大小和软件运行速度&#xff0c;如何将族文件做的最小并且满足项目需求呢? 方法一&#xff1a;清除未使用项 1. 族制作完成可以把族文件中未用到的外部载入族或其他多余数据删掉&#xff0c;点击“管理”选项卡下拉的“清除未使用项”命令; 2…

我拒绝了字节的offer,给求职者提个醒....

我大学学的是计算机专业&#xff0c;毕业的时候&#xff0c;对于找工作比较迷茫&#xff0c;也不知道当时怎么想的&#xff0c;一头就扎进了一家外包公司&#xff0c;一干就是2年。我想说的是&#xff0c;但凡有点机会&#xff0c;千万别去外包&#xff01; 在深思熟虑过后&am…

LabVIEWCompactRIO 开发指南第七章45 将I/O添加到Compact RIO

LabVIEWCompactRIO 开发指南第七章45 将I/O添加到Compact RIO 基于LabVIEW可重配置I/O&#xff08;RIO&#xff09;架构的NI产品日益被采用用于需要高通道数、密集处理和分布式I/O的系统级应用。将RIO扩展I/O添加到NI RIO产品产品中&#xff0c;可实现1&#xff1a;N系统拓扑…

源码分析 | MySQL 的 commit 是怎么 commit 的?

作者&#xff1a;李鹏博 爱可生 DBA 团队成员&#xff0c;主要负责 MySQL 故障处理和 SQL 审核优化。对技术执着&#xff0c;为客户负责。 本文来源&#xff1a;原创投稿 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。 …