前言
前些天發(fā)現(xiàn)了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家:https://www.captainbed.cn/z
chatgpt體驗地址
引言
在項目開發(fā)過程中,隨著項目不斷擴大,也就是業(yè)務的不斷增多,我們將采用集群,微服務的形式去降低配置,集群是指將一個項目部署到多個服務器當中,而微服務是指將業(yè)務拆分為一個一個服務去進行,那么我們想要去實現(xiàn)一個業(yè)務的時候,我們就需要調用多個服務,那么每個服務的調用,我們都需要知道它的URL,若是有成千上萬的URL該如何維護呢?
這時就需要注冊中心功能
其實我們可以把注冊中心類比與通訊錄
設計思路
程序是數(shù)據(jù)結構和算法的組合,那么我們若是想要設計一個注冊中心,我們就要從兩個方面去考慮
- 存儲結構
- 提供的操作
存儲結構
我們類比一下通訊錄,通訊錄的每一個內容都包括姓名和電話,那么注冊中心每一個保存的是服務名和服務信息,這個結構我們不難想象到map結構
則注冊表的存儲結構如下:
兩層map結構: 在微服務系統(tǒng)中,為了避免單點故障,通常使用的是服務集群,一個服務名會對應多個服務實例
注冊中心的操作
- 接收服務
- 接收服務心跳
- 接收服務下線
- 服務剔除
- 查詢注冊表中服務信息
- 注冊中心集群中的信息同步
注冊中心的使用
注冊中心的使用主要分為兩步
- 搭建注冊中心服務端
- 啟動業(yè)務服務,讓服務和注冊中心連通
本文的核心內容就是具體的注冊中心配置使用
Dubbo和Zookeeper的使用
Zookeeper
-
zookeeper的安裝
安裝地址 -
將conf目錄下的zoo_sample.cfg文件,復制一份,重命名為zoo.cfg
-
在步驟2的基礎上,修改zoo.cfg配置文件中zookeeper的數(shù)據(jù)文件存儲位置及添加zookeeper日志文件位置(方法查錯),(數(shù)據(jù)日志配置需另加),具體步驟如下
- 在zookeeper目錄下新建tmp文件夾,在分別tmp文件夾下面新建data文件夾與log文件夾,用于存放data(數(shù)據(jù)存儲)和log(數(shù)據(jù)日志)
- 修改conf下zoo.cfg配置中數(shù)據(jù)存儲和數(shù)據(jù)日志路徑
dataDir=../tmp/data
dataLogDir=../tmp/log
# 添加此配置項
admin.serverPort=8888
zoo.cfg配置文件參數(shù)說明
# tickTime 客戶端與服務器或者服務器與服務器之間維持心跳,也就是每個tickTime時間就會發(fā)送一次心跳。通過心跳不僅能夠用來監(jiān)聽機器的工作狀態(tài),還可以通過心跳來控制Flower跟Leader的通信時間
# initLimit 集群中的follower服務器(F)與leader服務器(L)之間初始連接時能容忍的最多心跳數(shù)
#syncLimit 集群中flower服務器(F)跟leader(L)服務器之間的請求和答應最多能容忍的心跳數(shù)
# dataDir 用來存放myid信息跟一些版本,日志,跟服務器唯一的ID信息等。
# dataLogDir 存放事務日志的文件夾
# clientPort 客戶端連接的接口,客戶端連接zookeeper服務器的端口,zookeeper會監(jiān)聽這個端口,接收客戶端的請求訪問!這個端口默認是2181。
# maxClientCnxns 允許連接的客戶端數(shù)目,0為不限制,通過IP來區(qū)分不同的客戶端
-
判斷zookeeper安裝十分成功
bin目錄
- zkCli.cmd 驗證是否安裝成功
- zkServer.cmd 啟動zookeeper服務
-
可以通過連接工具判斷是否連接成功
下載地址——prettyzoo
dubbo-admin
- dubbo-admin下載
安裝地址
后端啟動打包
- 踩坑經過:一定要確定運行環(huán)境是jdk1.8
成功啟動并打包
前端啟動打包
- 首先找到前端文件夾ui
執(zhí)行命令
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安裝:
-
解壓安裝包
-
打開配置文件(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
-
執(zhí)行sql文件(nacos安裝目錄 -> conf ->nacos-mysql.sql)
-
通過修改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的使用
下載與安裝
下載地址——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
小結
本文內容主要在單機模式下下載安裝注冊中心,更詳細的內容我推薦在下面這本書中去獲取
京東鏈接:購買地址文章來源:http://www.zghlxwxcb.cn/news/detail-752238.html
- ??本次送書1~3本【取決于閱讀量,閱讀量越多,送的越多】??
- ??活動時間:截止到2023-12月9號
- ??參與方式:關注博主+三連(點贊、收藏、評論)
![]()
內容簡介
《Spring Cloud 微服務快速上手》介紹了當下*主流的屬于Spring生態(tài)的微服務框架,它繼承了Spring Boot的優(yōu)點,開發(fā)部署都非常簡單。本書內容全面,介紹了微服務架構的發(fā)展歷程,包含Spring Cloud Netflix 和 Spring Cloud Alibaba的組件,如服務發(fā)現(xiàn)注冊、配置中心、消息總線、負載均衡、斷路器、數(shù)據(jù)監(jiān)控等。在解讀核心組件的實現(xiàn)原理的同時,配以案例進行實踐。本書內容包含微服務架構和云原生架構,讀者在掌握微服務之后,可以進一步掌握云原生知識。文章來源地址http://www.zghlxwxcb.cn/news/detail-752238.html
到了這里,關于SpringCloud | Dubbo 微服務實戰(zhàn)——注冊中心詳解的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!