SpringCloud | Dubbo 微服务实战——注册中心详解

这篇具有很好参考价值的文章主要介绍了SpringCloud | Dubbo 微服务实战——注册中心详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z
SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

chatgpt体验地址

SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

引言

在项目开发过程中,随着项目不断扩大,也就是业务的不断增多,我们将采用集群,微服务的形式去降低配置,集群是指将一个项目部署到多个服务器当中,而微服务是指将业务拆分为一个一个服务去进行,那么我们想要去实现一个业务的时候,我们就需要调用多个服务,那么每个服务的调用,我们都需要知道它的URL,若是有成千上万的URL该如何维护呢?
这时就需要注册中心功能
其实我们可以把注册中心类比与通讯录

设计思路

程序是数据结构和算法的组合,那么我们若是想要设计一个注册中心,我们就要从两个方面去考虑

  • 存储结构
  • 提供的操作

存储结构

我们类比一下通讯录,通讯录的每一个内容都包括姓名和电话,那么注册中心每一个保存的是服务名和服务信息,这个结构我们不难想象到map结构
则注册表的存储结构如下:
SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

两层map结构: 在微服务系统中,为了避免单点故障,通常使用的是服务集群,一个服务名会对应多个服务实例

注册中心的操作

  • 接收服务
  • 接收服务心跳
  • 接收服务下线
  • 服务剔除
  • 查询注册表中服务信息
  • 注册中心集群中的信息同步

注册中心的使用

注册中心的使用主要分为两步

  1. 搭建注册中心服务端
  2. 启动业务服务,让服务和注册中心连通
    SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

本文的核心内容就是具体的注册中心配置使用

Dubbo和Zookeeper的使用

Zookeeper

  1. zookeeper的安装
    安装地址
    SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

  2. 将conf目录下的zoo_sample.cfg文件,复制一份,重命名为zoo.cfg
    SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

  3. 在步骤2的基础上,修改zoo.cfg配置文件中zookeeper的数据文件存储位置及添加zookeeper日志文件位置(方法查错),(数据日志配置需另加),具体步骤如下

  • 在zookeeper目录下新建tmp文件夹,在分别tmp文件夹下面新建data文件夹与log文件夹,用于存放data(数据存储)和log(数据日志)
  • 修改conf下zoo.cfg配置中数据存储和数据日志路径
dataDir=../tmp/data
dataLogDir=../tmp/log
# 添加此配置项
admin.serverPort=8888

zoo.cfg配置文件参数说明

# tickTime       客户端与服务器或者服务器与服务器之间维持心跳,也就是每个tickTime时间就会发送一次心跳。通过心跳不仅能够用来监听机器的工作状态,还可以通过心跳来控制FlowerLeader的通信时间
 
# initLimit	       集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数
 
#syncLimit         集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数
  
# dataDir          用来存放myid信息跟一些版本,日志,跟服务器唯一的ID信息等。
 
# dataLogDir       存放事务日志的文件夹
 
# clientPort       客户端连接的接口,客户端连接zookeeper服务器的端口,zookeeper会监听这个端口,接收客户端的请求访问!这个端口默认是2181。
 
# maxClientCnxns    允许连接的客户端数目,0为不限制,通过IP来区分不同的客户端

  1. 判断zookeeper安装十分成功
    bin目录
  • zkCli.cmd 验证是否安装成功
  • zkServer.cmd 启动zookeeper服务
  1. 可以通过连接工具判断是否连接成功
    SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

下载地址——prettyzoo
SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

dubbo-admin

  1. dubbo-admin下载
    安装地址

后端启动打包

  1. 踩坑经过:一定要确定运行环境是jdk1.8
    SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心
    成功启动并打包
    SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

前端启动打包

  1. 首先找到前端文件夹ui
    执行命令
npm install

打包即可,注意要检查是否完成node.js的安装

Eureka的使用

搭建eureka-server步骤

1.引入SpringCloud为eureka提供的starter依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

2. 编写一个application.yml文件,内容如下:

server:
  port: 10086
spring:
  application:
    name: eureka-server
eureka:
  client:
    service-url: 
      defaultZone: http://127.0.0.1:10086/eureka

3. @EnableEurekaServer注解

@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}

4.启动微服务,然后在浏览器访问:http://127.0.0.1:10086

Nacos的使用

1. 下载安装

下载地址——Nacos下载

Nacos安装:

SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

  • 解压安装包

  • 打开配置文件(nacos安装目录 -> conf -> application.properties)

spring.datasource.platform=mysql

db.num=1
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=root
db.password=123456

  • 修改端口号
\### Default web context path:
server.servlet.contextPath=/nacos
\### Default web server port:
server.port=8848

  1. 执行sql文件(nacos安装目录 -> conf ->nacos-mysql.sql)

  2. 通过修改nacos.core.auth.enabled为true,就可以开启nacos认证。开启后客户端必须配置username、password。

单机模式启动

在nacs安装目录下的bin目录中运行命令,默认是集群模式启动,单机模式启动需要指定模式。

Windows命令:startup.cmd -m standalone

Linux命令:sh startup.sh -m standalone

命令运行成功后直接访问:http://localhost:8848/nacos
默认账号密码都是:nacos

Consul的使用

SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

下载与安装

下载地址——Consul

1)下载

wget https://releases.hashicorp.com/consul/1.3.0/consul_1.3.0_linux_amd64.zip

2)解压

unzip  consul_1.3.0_linux_amd64.zip

3)拷贝到usr目录下

mv consul   /usr

4)查看是否安装成功

./consul

小结

本文内容主要在单机模式下下载安装注册中心,更详细的内容我推荐在下面这本书中去获取

京东链接:购买地址

  • 🎁本次送书1~3本【取决于阅读量,阅读量越多,送的越多】👈
  • ⌛️活动时间:截止到2023-12月9号
  • ✳️参与方式:关注博主+三连(点赞、收藏、评论)
    SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心

内容简介

《Spring Cloud 微服务快速上手》介绍了当下*主流的属于Spring生态的微服务框架,它继承了Spring Boot的优点,开发部署都非常简单。本书内容全面,介绍了微服务架构的发展历程,包含Spring Cloud Netflix 和 Spring Cloud Alibaba的组件,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。在解读核心组件的实现原理的同时,配以案例进行实践。本书内容包含微服务架构和云原生架构,读者在掌握微服务之后,可以进一步掌握云原生知识。
SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心
SpringCloud | Dubbo 微服务实战——注册中心详解,java一站式服务,spring boot,spring cloud,dubbo,spring,java,注册中心文章来源地址https://www.toymoban.com/news/detail-752238.html

到了这里,关于SpringCloud | Dubbo 微服务实战——注册中心详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现

    实战前先做一个背景了解。 单体架构:近几年技术的飞速发展,各种各样的服务已经进入到网络化。单体架构发布时只需要打成一个war或jar包发布即可;而随着业务量激增或网站流量的增加,必会暴露致命缺陷。 SOA:Service Oriented Architecture 面向服务的体系结构。旨在提升代

    2024年02月15日
    浏览(37)
  • go-zero微服务实战——etcd服务注册与发现

    浅谈etcd服务注册与发现 etcd官网 etcd中文文档 apt安装etcd,启动命令十分简单 etcd 。 etcd分为v2版本和v3版本,命令有所不一样,使用命令 etcdctl h 查看 如上图所示并没有出现API的版本,此时是使用默认的v2版本,但是v2版本很多命令使用不了,因此切换为v3版本,命令如下: e

    2024年02月12日
    浏览(37)
  • springCloud Eureka注册中心配置详解

    1、创建一个springBoot项目 2、在springBoot项目中添加SpringCloud依赖 3、在springBoot项目中创新建一个子模块eureka-server: 4、搭建Eureka 添加依赖:在新建一个子模块的pom.xml中添加依赖 创建配置文件:在resources文件下创建一个名为 application.yml (或 application.properties )的配置文件,并

    2024年02月15日
    浏览(45)
  • SpringCloud 微服务系列——【基础与服务注册中心详解】

    ✅作者简介:2022年 博客新星 第八 。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:SpringCloud 微服务学习专栏 ✨特色专栏:国学周更-心性养成之路 🥭本文内容:SpringCloud 微服

    2024年02月01日
    浏览(42)
  • SpringCloud微服务实战——搭建企业级开发框架(五十三):微信小程序授权登录增加多租户可配置界面

      GitEgg框架集成weixin-java-miniapp工具包以实现微信小程序相关接口调用功能,weixin-java-miniapp底层支持多租户扩展。每个小程序都有唯一的appid,weixin-java-miniapp的多租户实现并不是以租户标识TenantId来区分的,而是在接口调用时,传入appid,动态切换ThreadLocal的appid来实现多租户

    2024年02月15日
    浏览(52)
  • Dubbo3使用Zookeeper作为注册中心的方案讨论!详解DubboAdmin与PrettyZoo来监控服务的优劣!

    文章目录 一:Dubbo注册中心的基本使用 二:Zookeeper注册中心的使用 1:依赖引入 2:实际开发 三:Zookeeper作为注册中心的使用展示 1:启动注册Zookeeper服务 2:引入注册中心 (一):Provider (二):Consumer 3:启动服务结果展示 4:监控服务的两种手段         我们使用的和分析讲解

    2024年02月05日
    浏览(39)
  • SpringCloud微服务实战——搭建企业级开发框架:第三方登录-微信小程序授权登录流程设计和实现

      在前面的设计和实现中,我们的微服务开发平台通过JustAuth来实现第三方授权登录,通过集成公共组件,着实减少了很多工作量,大多数的第三方登录直接通过配置就可以实现。而在第三方授权登录中,微信小程序授权登录和APP微信授权登录是两种特殊的第三方授权登录

    2024年02月07日
    浏览(54)
  • SpringCloud微服务实战——搭建企业级开发框架:微服务安全加固—自定义Gateway拦截器实现防止SQL注入/XSS攻击

     SQL注入是常见的系统安全问题之一,用户通过特定方式向系统发送SQL脚本,可直接自定义操作系统数据库,如果系统没有对SQL注入进行拦截,那么用户甚至可以直接对数据库进行增删改查等操作。   XSS全称为Cross Site Script跨站点脚本攻击,和SQL注入类似,都是通过特定方

    2024年02月03日
    浏览(63)
  • 《微服务实战》 第二十六章 Java锁的分类

    第二十八章 分布式锁框架-Redisson 第二十七章 CAS 第二十六章 Java锁的分类 第二十五章 Java多线程安全与锁 第二章 CountDownLatch和Semaphone的应用 第一章 Java线程池技术应用 本章节介绍Java中的几种常见的锁:公平锁和非公平锁、可重入锁、独享锁/共享锁、互斥锁/读写锁、乐观锁

    2024年02月06日
    浏览(93)
  • DUBBO注册中心

    providers: 服务提供者目录,记录着服务提供者的ip、端口等信息。 consumers: 服务消费者目录,记录服务消费者的元数据信息,服务提供者并不会用到服务消费者的信息,这里要记录消费者的信息,是给服务治理中心(dubbo-admin)使用的。 routers: 用于消费者路由策略元数据信息。

    2023年04月14日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包