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

写在最前

如果这个项目让你有所收获,记得 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vuex核心

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、什么是状态管理&#xff1f;二、复杂的状态管理1.随着代码越来越多&#xff0c;需要管理的状态越来越复杂&#xff0c;当多个组件共享状态时&#xff0c;单…

chatgpt赋能python:Python如何运行两次

Python如何运行两次 Python是一种高级编程语言&#xff0c;非常受欢迎&#xff0c;因为它易于学习&#xff0c;简单易用&#xff0c;开放性强&#xff0c;而且功能强大。Python常用于处理各种任务&#xff0c;包括数据分析、Web应用开发、人工智能、自动化测试等。此外&#x…

Linux ls -l输出文件信息详解

在linux中&#xff0c;我们知道一切皆为文件&#xff0c;经常我们会使用ls -l去查看文件的信息&#xff0c;今天会大家详细讲解一下ls -l输出的文件属性信息。 1.ls -l输出 命令&#xff1a; ls -l 通过ls -l命令输出&#xff0c;我们可以看到上图中的属性信息输出&#xff…

PMP证书含金量也太高了吧!在一线城市可享受多项福利~

近年来&#xff0c;企业与企业、城市与城市间的人才争夺变得更加激烈&#xff0c;各大城市为了泛集聚和培养重点领域紧缺专业人才均针对持有国际职业资格认证的人才出台了相关优惠政策&#xff0c;目前我了解到的已有以下5个城市针对PMP项目管理及相关行业和认证出台了鼓励政策…

项目管理系统的设计与实现(ASP.NET,SQL)

开发环境&#xff1a;Microsoft Visual Studio 数据库&#xff1a;Microsoft SQL Server 程序语言&#xff1a;asp.NET(C#)语言本系统的开发使各大公司所的项目管理更加方便快捷&#xff0c;同时也促使项目的管理变的更加系统化、有序化。系统界面较友好&#xff0c;易于操作。…

MySQL CAST 函数与 CONVERT 函数

文章目录 CAST 函数与 CONVERT 函数1. 数字和小数点组成的字符串转换为整型2. 非数值字符串转换为整型3. 把整型转换为二进制4. 数字和小数点组成的字符串转换为浮点型 CAST 函数与 CONVERT 函数 前面我们介绍的两个函数用于字符串和日期类型之间进行相互转换&#xff0c;有时我…

什么?要求设计一个循环队列?

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f349;本篇简介:>:讲解用c…

直播问答功能(互动功能接收端JS-SDK)

功能概述 本模块主要用于展示问答模块。 初始化及销毁 在实例化该模块并进行使用之前&#xff0c;需要对SDK进行初始化配置&#xff0c;详细见参考文档。 在线文件引入方式 // script 标签引入&#xff0c;根据版本号引入JS版本。 <script src"https://websdk.vi…

10课程设计收尾及优秀作品展示答辩【FPGA模型机课程设计】

10课程设计收尾及优秀作品展示答辩【FPGA模型机课程设计】 前言说明推荐10课程设计收尾及优秀作品展示答辩安排 目录一、单周期CPU的设计过程1、基本的20条指令固定指令格式设计I 型指令设计J型指令设计lw sw指令设计 2、扩展的20条指令J型扩展指令设计乘法除法指令格式 3、实现…

什么是lamp架构

LAMP架构介绍 LAMP动态网站架构 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。 1、LAMP分别代表什么&#xff1f; L代表服务器操作系统使用LinuxA代表网站服务使用的是Apache软件基金会中的httpd软件M代表网站后台使用的数据库是MySQL数据库…

springboot 2.6.12 自定义解析 yaml 加密数据

文章目录 一、简介二、yaml 默认解析简单说明三、自定义 yaml 解密解析器四、配置 PropertySourceLoader五、简单测试 一、简介 为了保证项目的配置文件的安全性&#xff0c;需要对第三方组件 mysql、redis、es、mq 等用户名密码进行加密处理&#xff0c;可以使用现成的三方包…

项目经验分享:LVGL编程举例

本文介绍如何在成功移植LVGL的基础之上&#xff0c;编写自己的LVGL GUI程序。 文章目录 1. LVGL组件简介与LVGL仿真1.1 LVGL组件1.2 LVGL仿真 2. 代码结构3. 编程目标4. 编程前的准备5. LVGL编程基础5.1 简单示例代码5.2 设置组件位置5.3 图片的显示5.4 组件的事件响应5.5 设置…

【论文阅读】Twin Neural Network Regression

论文下载 GitHub bib: ARTICLE{SebastianKevin2022Twin,title {Twin neural network regression},author {Sebastian Johann Wetzel and Kevin Ryczko and Roger Gordon Melko and Isaac Tamblyn},journal {Applied AI Letters},year {2022},volume {3},number …

【LeetCode】260. 只出现一次的数字 III

260. 只出现一次的数字 III&#xff08;中等&#xff09; 思路 这道题是136. 只出现一次的数字 的进阶版&#xff0c;需要找出两个仅出现一次的元素。有了上一题的基础&#xff0c;我们很容易就想到要用异或来解决&#xff0c;但是由于这题最终会剩下两个不同的元素&#xff0…

5.31串讲Spring、Vue相关问题

5.31串讲 SSM相关问题 文章目录 5.31串讲 SSM相关问题Spring Security&#xff08;Shiro&#xff09;Security框架认证流程Security流程图展示 Vue相关指令四个阶段 axios Spring Security&#xff08;Shiro&#xff09; Spring Security是一个基于Spring 的安全框架&#xff…

软考A计划-电子商务设计师-电子商务系统规划

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

ChatGPT浪潮席卷,维智科技以时空AI赋能数实融合的未来城市

作者 | 伍杏玲 出品 | CSDN 每个时代都有新的技术浪潮&#xff0c;但在短短两年时间里见证两项颠覆全球的技术发展&#xff0c;实在出人意料之外&#xff1a;2021年以来&#xff0c;元宇宙成为互联网产业新风口&#xff0c;今年ChatGPT成为IT圈“顶流”&#xff0c;这两者为地…

数据在内存中的存储

目录 简介数据在内存中的存储方式 整形 有符号整形(signed) 无符号整形(unsigned) 原码、反码、补码 大端小端 整形提升 数据截断 浮点数在内存中的存储 S、E、M S M E double和float的存储模型 简介数据在内存中的存储方式 在讨论数据在内存中的存储方式之前&am…

类脑计算讲解

当前&#xff0c;人工智能的发展有两个主要路径&#xff0c;一个是沿计算机科学发展而来的深度学习途径&#xff0c;另一个是沿着模仿人脑发展而来的类脑计算途径。 类脑计算途径 这个方向是以模拟人脑神经网络计算为基础而发展出的一种新型芯片&#xff0c;通过模拟神经元和…

在线教育机构的视频如何做防下载和防盗录?

在线教育平台付费课程、企业内训的培训课程&#xff0c;这类视频课程内容是如何做防下载和防盗录的&#xff1f; 1.AI隐形溯源水印 这个功能能够将水印隐藏在视频中&#xff0c;不会影响观看体验&#xff0c;但却能够帮助企业很好的视频版权保护。更重要的是&#xff0c;对于盗…