国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微服務(wù) - Consul服務(wù)注冊中心

這篇具有很好參考價值的文章主要介紹了微服務(wù) - Consul服務(wù)注冊中心。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

概述

上篇說到構(gòu)建良好的架構(gòu),依托于基礎(chǔ)設(shè)施建設(shè)(自動化測試、自動化部署、服務(wù)監(jiān)控,服務(wù)發(fā)現(xiàn)、配置中心等等),決定成敗的往往是基礎(chǔ)設(shè)施建設(shè),所以從搭建一個注冊中心和配置中心開始我們新一階段的啟程。

注冊中心

微服務(wù) - Consul服務(wù)注冊中心

注冊中心選型

你有沒有思考過這樣一個問題,為什么會有這么多的注冊中心(etcd/ZooKeeper/Consul),選用那個最適合自己,是不是在選用的時候會眼花繚亂?

我在開始做的時候,自己也有很多困惑,將近3年的時候里我都在不停的學(xué)習,但是還是有很多不同的框架和產(chǎn)品,后來我明白了其中的原因,他們就像生活中的可樂、果汁、和牛奶一樣,你在使用的時候選取你的編程語言(Java、Go、PHP),程序易接入的就好了。

產(chǎn)生注冊中心五花八門的原因是因為語言很多,都想打造最適合自己的體系生態(tài),我選擇Consul為大家講解,因為它安裝和接入都比較方便。

不用被這些假象所困擾,多學(xué)習網(wǎng)絡(luò)和系統(tǒng)的底層原理,萬變不離其宗,技術(shù)人應(yīng)該是給出解決方案。

CAP原理

  • 一致性: 所有節(jié)點在同一時間具有相同的數(shù)據(jù)
  • 可用性:保證每個請求不管成功或者失敗都有響應(yīng)
  • 分區(qū)容錯:系統(tǒng)中任意信息的丟失或失敗不會影響系統(tǒng)的繼續(xù)運作
Feature Consul ZooKeeper etcd
服務(wù)健康檢查 服務(wù)狀態(tài)、內(nèi)存、硬盤 長鏈接、Keepalive 鏈接心跳
多數(shù)據(jù)中心 支持
K/V存儲服務(wù) 支持 支持 支持
一致性 Raft Paxos Raft
CAP定理 CP CP CP
使用接口(多語言能力) Http/Dns 客戶端 Http/Grpc
安全 acl/https acl Https支持

Consul介紹

使用PHP、和Go編寫,使用Consul作為注冊中心和配置中心比較方便,所以我選用的是Consul。

  • 采用Raft算法實現(xiàn),有服務(wù)發(fā)現(xiàn),Key/Value存儲,可以做配置中心使用,有健康檢查,并提供了web管理頁面。

Consul 內(nèi)部端口說明:

  • TCP/8300:8300端口用于服務(wù)器節(jié)點,客戶端通過RPC協(xié)議調(diào)用服務(wù)端節(jié)點。
  • TCP/UDP/8301: 8301端口用于單個數(shù)據(jù)中心所有節(jié)點之間的互相通信,即對LAN池信息的同步,它使得整個數(shù)據(jù)中心能夠自動的發(fā)現(xiàn)服務(wù)器地址,分布式監(jiān)測點的故障,事件廣播。
  • TCP/UDP/8302: 8302端口用于單個或多個數(shù)據(jù)中心之間的服務(wù)器節(jié)點的信息同步(WAL池信息的同步),它針對互聯(lián)網(wǎng)的高延遲進行了優(yōu)化,能夠?qū)崿F(xiàn)跨數(shù)據(jù)中心請求。
  • HTTP/8500: 8500端口基于Http服務(wù),用于Api接口和Ui訪問。
  • DNS/8600: 8600端口作為DNS服務(wù)器,它使得我們可以通過節(jié)點查詢節(jié)點信息。

Consul Raft算法

  • 解決了分布式中領(lǐng)導(dǎo)選舉和一致性問題
  • Raft算法是比較出名的共識算法,比如Redis的哨兵、Consul

Consul 集群的特點:

  • 任期機制,Raft是終身任期的,它永遠都是領(lǐng)導(dǎo)者
  • 心跳機制,它決定領(lǐng)導(dǎo)者是否能有效的和跟隨者通信
  • 隨機的選舉超時時間,因為是隨機的所以決定了不會再同一時間進行選舉
  • 先到先得,一屆任期內(nèi),先收到誰的投票就會給誰,剩下的請求一律拒絕
  • 過半機制,收到一半的投票才會

Consul 集群的角色:

  • Followers 追隨者:接受到領(lǐng)導(dǎo)者發(fā)送的消息,當心跳超時時,主動推薦自己成為候選人。
  • Candidate 候選人:發(fā)送Rpc消息,讓其它節(jié)點投票給自己,當投票超過半數(shù)時,成為領(lǐng)導(dǎo)者。
  • Leader 領(lǐng)導(dǎo)者:向其他節(jié)點發(fā)送心跳,只要心跳不超時,一直為領(lǐng)導(dǎo)者。

算法的詳情可以點擊官網(wǎng)視頻查看

Consul 基本使用

注冊服務(wù)

1.注冊服務(wù)是Consul最基礎(chǔ)的服務(wù),點擊查看官網(wǎng)Api

PUT 192.168.88.144:8500/v1/agent/service/register
{
    "Name":"audio",
    "Id":"audio",
    "Tags":[
        "v2",
        "primary"
    ],
    "Address":"192.168.88.144",
    "Port":8500,
    "Check":{
        "HTTP":"http://192.168.88.144:8500",
        "Interval":"10s"
    }
}
{
  "id": "web",
  "name": "web",
  "port": 80,
  "check": {
    "name": "ping check",
    "args": ["ping", "-c1", "test.stark.com"],
    "interval": "30s",
    "status": "passing"
  }
}

2.發(fā)現(xiàn)服務(wù)

GET http://192.168.88.144:8500/v1/health/service/audio
[
    {
        "Node": {
            "ID": "38779dca-bffd-e399-6597-266aff68132c",
            "Node": "server01-virtual-machine",
            "Address": "127.0.0.1",
            "Datacenter": "dc1",
            "TaggedAddresses": {
                "lan": "127.0.0.1",
                "lan_ipv4": "127.0.0.1",
                "wan": "127.0.0.1",
                "wan_ipv4": "127.0.0.1"
            },
            "Meta": {
                "consul-network-segment": ""
            },
            "CreateIndex": 13,
            "ModifyIndex": 17
        },
        "Service": {
            "ID": "audio",
            "Service": "audio",
            "Tags": [
                "v2",
                "primary"
            ],
            "Address": "192.168.88.144",
            "TaggedAddresses": {
                "lan_ipv4": {
                    "Address": "192.168.88.144",
                    "Port": 8500
                },
                "wan_ipv4": {
                    "Address": "192.168.88.144",
                    "Port": 8500
                }
            },
            "Meta": null,
            "Port": 8500,
            // ...
}
]

Service API
Service 相關(guān)的 API 都在 /v1/agent/service 下:

  • /agent/services:該端點返回在本地代理程序中注冊的所有服務(wù);
  • /agent/service/{service_id}:返回在本地代理上注冊的單個服務(wù)實例的完整服務(wù)定義;
  • /agent/health/service/name/{service_name}/
  • /agent/health/service/id/{service_id}:通過名稱或id檢索本地代理上的聚合服務(wù)狀態(tài);
  • /agent/service/register:注冊服務(wù);
  • /agent/service/deregister/{service_id} :注銷服務(wù);
  • /agent/service/maintenance/{service_id}:該端點將給定的服務(wù)置于“維護模式”,在維護模式下,該服務(wù)將被標記為不可用,并且不會出現(xiàn)在DNS或API查詢中。

關(guān)于更多Consul的使用,查詢官方文檔吧。

微服務(wù) - Consul服務(wù)注冊中心文章來源地址http://www.zghlxwxcb.cn/news/detail-422441.html

到了這里,關(guān)于微服務(wù) - Consul服務(wù)注冊中心的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【SpringCloud】一、微服務(wù)概述、注冊中心與Ribbon負載均衡技術(shù)簡介

    微服務(wù)治理 異步通信技術(shù) — mq 緩存技術(shù) — Redis 搜索技術(shù) — ES集群 Devops — Jenkins… 微服務(wù)是一種將各個模塊拆分開獨立運行以提高系統(tǒng)整體效率的技術(shù),其主要特征為: 單一職責:每個服務(wù)對應(yīng)唯一的業(yè)務(wù)能力、做到單一職責。 面向服務(wù):對外要暴露微服務(wù)的業(yè)務(wù)接口

    2024年02月09日
    瀏覽(19)
  • SpringCloud學(xué)習筆記(五)_Consul注冊中心

    SpringCloud學(xué)習筆記(五)_Consul注冊中心

    本章使用的Consul版本是 1.7.2 項目架構(gòu)圖如下: 1、新建一個maven項目(test-springcloud-provider-payment8006) 結(jié)構(gòu)如下: 2、引入依賴,編輯pom文件 完整pom.xml文件如下: pom.xml 3、編輯配置文件application.yml 4、編寫主啟動類 5、編寫Controller 6、啟動項目,測試項目 1)啟動Consul服務(wù),使

    2024年02月11日
    瀏覽(17)
  • Docker Consul概述及構(gòu)建

    Docker Consul概述及構(gòu)建

    Consul是HashiCorp公司推出的開源工具,Consul由Go語言開發(fā),部署起來非常容易,只需要極少的可執(zhí)行程序和配置文件,具有綠色、輕量級的特點。 Consul是分布式的、高可用的、可橫向擴展的用于實現(xiàn)分布式系統(tǒng)的服務(wù)發(fā)現(xiàn)與配置。 在client模式下,所有注冊到當前節(jié)點的服務(wù)會被

    2024年02月07日
    瀏覽(22)
  • 【Consul】基于Golang實現(xiàn)Consul服務(wù)的注冊、注銷、修改、監(jiān)控注冊的服務(wù)變化、實時同步服務(wù)信息機制

    【Consul】基于Golang實現(xiàn)Consul服務(wù)的注冊、注銷、修改、監(jiān)控注冊的服務(wù)變化、實時同步服務(wù)信息機制

    大家好 我是寸鐵?? 總結(jié)了一篇【Consul】基于Go實現(xiàn)Consul服務(wù)的注冊、注銷、修改、監(jiān)控注冊的服務(wù)變化、實時同步服務(wù)信息機制? 這應(yīng)該是目前全網(wǎng)最全的使用golang手搓Consul服務(wù)信息機制? 喜歡的小伙伴可以點點關(guān)注 ?? consul常常被用來作服務(wù)注冊與服務(wù)發(fā)現(xiàn),而它的wa

    2024年04月09日
    瀏覽(24)
  • SpringCloud(H版&alibaba)框架開發(fā)教程,使用eureka,zookeeper,consul,nacos做注冊中心——附源碼(1)

    SpringCloud(H版&alibaba)框架開發(fā)教程,使用eureka,zookeeper,consul,nacos做注冊中心——附源碼(1)

    源碼地址:https://gitee.com/jackXUYY/springboot-example 創(chuàng)建訂單服務(wù),支付服務(wù),公共api服務(wù)(共用的實體),eureka服務(wù) 1.cloud-consumer-order80 2.cloud-provider-payment8001 3.cloud-api-commons 4.cloud-eureka-server7001 5.cloud-eureka-server7002 如圖所示 修改本地host映射 修改數(shù)據(jù)庫地址為自己的地址,并初始

    2024年02月03日
    瀏覽(22)
  • Consul服務(wù)注冊發(fā)現(xiàn)集群搭建

    Consul服務(wù)注冊發(fā)現(xiàn)集群搭建

    Consul 是一種用于服務(wù)發(fā)現(xiàn)、配置和分布式一致性的開源工具和平臺。它由 HashiCorp 公司開發(fā)和維護,旨在簡化構(gòu)建和維護分布式系統(tǒng)的任務(wù)。 Consul 提供了許多功能,包括: 服務(wù)發(fā)現(xiàn) :Consul允許服務(wù)注冊和發(fā)現(xiàn)。當服務(wù)啟動時,它可以向Consul注冊自己的位置和元數(shù)據(jù)。其他服

    2024年04月08日
    瀏覽(20)
  • docker consul 服務(wù)注冊與發(fā)現(xiàn)

    Docker consul的容器服務(wù)更新與發(fā)現(xiàn) ------------------------------------ Consul ------------------------------------ (1)什么是服務(wù)注冊與發(fā)現(xiàn) 服務(wù)注冊與發(fā)現(xiàn)是微服務(wù)架構(gòu)中不可或缺的重要組件。起初服務(wù)都是單節(jié)點的,不保障高可用性,也不考慮服務(wù)的壓力承載,服務(wù)之間調(diào)用單純的通過接

    2024年02月09日
    瀏覽(16)
  • prometheus + consul  服務(wù)注冊+報警  最佳實踐

    prometheus + consul 服務(wù)注冊+報警 最佳實踐

    本文主要將prometheus和consul 結(jié)合起來使用,通過conusl 注冊服務(wù)至prometheus,實現(xiàn)服務(wù)統(tǒng)一注冊,統(tǒng)一報警管理等。 整個架構(gòu)思路consul+consul_export+prometheus+alertmanager ,consul通過check檢測服務(wù)狀態(tài),然后通過consul_export暴露給prometheus,prometheus通過alert規(guī)則,通知alertmanager,接著郵件

    2024年03月25日
    瀏覽(19)
  • Docker consul的容器服務(wù)注冊與發(fā)現(xiàn)

    Docker consul的容器服務(wù)注冊與發(fā)現(xiàn)

    nacos(轉(zhuǎn)給微服務(wù))、Eureka和consul一樣,也是服務(wù)注冊與發(fā)現(xiàn) 服務(wù)注冊與發(fā)現(xiàn)是微服務(wù)架構(gòu)中不可或缺的重要組件。起初服務(wù)都是單節(jié)點的,不保障高可用性,也不考慮服務(wù)的壓力承載,服務(wù)之間調(diào)用單純的通過接口訪問。直到后來出現(xiàn)了多個節(jié)點的分布式架構(gòu),起初的解決

    2024年02月11日
    瀏覽(19)
  • Eureka、Zookeeper、Consul服務(wù)注冊與發(fā)現(xiàn)

    Eureka、Zookeeper、Consul服務(wù)注冊與發(fā)現(xiàn)

    一、Eureka服務(wù)注冊與發(fā)現(xiàn) 1.1 概念 Eureka 是 Netflix 公司開源的一個服務(wù)注冊與發(fā)現(xiàn)的組件 。 Eureka 和其他 Netflix 公司的服務(wù)組件(例如負載均衡、熔斷器、網(wǎng)關(guān)等) 一起,被 Spring Cloud 社區(qū)整合為Spring-Cloud-Netflix 模塊。 Eureka 包含兩個組件:Eureka Server (注冊中心) 和 Eureka Clien

    2024年02月02日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包