| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 微服务管家婆-Nacos Discovery -> 正文阅读 |
|
[Java知识库]微服务管家婆-Nacos Discovery |
引言书接上篇?手把手教你10分钟入门微服务开发?在订单服务下订单逻辑中,需要调用到商品服务商品信息接口。代码中使用最简单的方式:Spring RestTemplate 工具类调用
功能是实现了,但是存在问题,代码不优雅:
那如何解决?答案自然是微服务的管家婆:Nacos Discovery 服务注册中心Nacos Discovery 就是服务注册中心,算是SpringCloud Alibaba引入第一个组件。那啥为服务注册中心呢?那就要解释一下服务注册中心的核心功能:服务治理。 服务治理:微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。 大白话:各种微服务ip/端口的统一管理(CRUD) ? 服务注册:在服务治理框架中,都会构建一个注册中心(管理ip/端口的地方),每个服务单元向注册中心登记自己提供服务的详细信息。并在注册中心形成一张服务的清单(建立服务名与ip/端口映射),服务注册中心需要以心跳的方式去监测清单中的服务是否可用,如果不可用,需要在服务清单中剔除不可用的服务。 ?服务发现:微服务去咨询注册中心,并获取所有服务清单,实现对具体服务的访问。 ? 总结一下:在微服务架构里服务中心主要起到了协调者的作用。功能有:
常见注册中心Zookeeper Zookeeper是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式 应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用 配置项的管理等。 Eureka Eureka是Springcloud Netflflix中的重要组件,主要作用就是做服务注册和发现。但是现在已经闭 源 Consul Consul是基于GO语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现 和配置管理的功能。Consul的功能都很实用,其中包括:服务注册/发现、健康检查、Key/Value 存储、多数据中心和分布式一致性保证等特性。Consul本身只是一个二进制的可执行文件,所以 安装和部署都非常简单,只需要从官网下载后,在执行对应的启动脚本即可。 Nacos Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是 Spring Cloud Alibaba 组件之一,负责服务注册发现和服务配置。 ?这里选择Nacos,原因简单粗暴:他是阿里开源的,我们这里讲SpringCloud Alibaba 自然用同体系产品。 Nacos 简介Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。从上面的介绍就可以看出,Nacos的作用就是一个注册中心,用来管理注册上来的各个微服务。 核心功能点:
Nacos实战入门接下来,我们就在现有的环境中加入nacos,并将我们的两个微服务注册上去。 1>搭建Nacos环境第一步:安装Nacos
第二步:启动Nacos
第三步:访问Nacos 打开浏览器输入http://localhost:8848/nacos,即可访问服务, 默认密码是nacos/nacos 2>将商品服务注册到Nacos回到项目,看怎么在项目上用上Nacos 接下来开始修改 shop-product-server 模块的代码, 将其注册到nacos服务上 第一步:在pom.xml中添加Nacos的依赖
第二步:在主类上添加@EnableDiscoveryClient注解
第三步:在application.yml中添加Nacos服务的地址
第四步:启动服务, 观察Nacos的控制面板中是否有注册上来的商品微服务 3>将订单服务注册到Nacos?接下来开始修改 shop-order-server 模块的代码, 将其注册到nacos服务上 第一步:在pom.xml中添加Nacos的依赖
?第二步:在主类上添加@EnableDiscoveryClient注解
第三步:在application.yml中添加Nacos服务的地址
第四步:启动服务, 观察Nacos的控制面板中是否有注册上来的订单微服务 第五步:修改OrderServiceImpl, 实现微服务调用 ?
到这,发现没,ip, 端口已经可以设置为动态的啦,是否ok了呢?不是,上面还是无法实现负载均衡的效果,那怎么办,此时就得到引出SpringCloud Alibaba第二个组件了:Ribbon 至于Ribbon怎么玩,不急,请听下回分解。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/10 18:54:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |