'阿里雲提供全託管 ZooKeeper'

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

阿里雲提供全託管 ZooKeeper

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

進入微服務引擎控制檯之後,點擊“創建實例”按鈕,這裡我們選擇創建公網實例,配置選擇 1 核 2G 。

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

進入微服務引擎控制檯之後,點擊“創建實例”按鈕,這裡我們選擇創建公網實例,配置選擇 1 核 2G 。

阿里雲提供全託管 ZooKeeper

點擊創建之後,進入列表頁,這裡會展示你所有的集群,剛創建集群,運行狀態會變成“啟動/加載中”,整個創建過程,在 3 分鐘左右,之後你就擁有一個屬於自己的 ZooKeeper 的集群了。

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

進入微服務引擎控制檯之後,點擊“創建實例”按鈕,這裡我們選擇創建公網實例,配置選擇 1 核 2G 。

阿里雲提供全託管 ZooKeeper

點擊創建之後,進入列表頁,這裡會展示你所有的集群,剛創建集群,運行狀態會變成“啟動/加載中”,整個創建過程,在 3 分鐘左右,之後你就擁有一個屬於自己的 ZooKeeper 的集群了。

阿里雲提供全託管 ZooKeeper

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

進入微服務引擎控制檯之後,點擊“創建實例”按鈕,這裡我們選擇創建公網實例,配置選擇 1 核 2G 。

阿里雲提供全託管 ZooKeeper

點擊創建之後,進入列表頁,這裡會展示你所有的集群,剛創建集群,運行狀態會變成“啟動/加載中”,整個創建過程,在 3 分鐘左右,之後你就擁有一個屬於自己的 ZooKeeper 的集群了。

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

mse-f3288e50-p.zk.mse.aliyuncs.com(外)這個鏈接串,是提供的外網域名,剛生產出來,是訪問不了的,因為安全的限制,需要給它加白名單,加白名單的入口,從集群列表頁,點擊管理,進入管理頁面,白名單設置按鈕:

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

進入微服務引擎控制檯之後,點擊“創建實例”按鈕,這裡我們選擇創建公網實例,配置選擇 1 核 2G 。

阿里雲提供全託管 ZooKeeper

點擊創建之後,進入列表頁,這裡會展示你所有的集群,剛創建集群,運行狀態會變成“啟動/加載中”,整個創建過程,在 3 分鐘左右,之後你就擁有一個屬於自己的 ZooKeeper 的集群了。

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

mse-f3288e50-p.zk.mse.aliyuncs.com(外)這個鏈接串,是提供的外網域名,剛生產出來,是訪問不了的,因為安全的限制,需要給它加白名單,加白名單的入口,從集群列表頁,點擊管理,進入管理頁面,白名單設置按鈕:

阿里雲提供全託管 ZooKeeper

白名單的設置規則是,需要把你的公網出口 IP 或者 IP 段,添加進來,才能訪問到 ZooKeeper 集群,例如,此次我本機的出口公網 IP 為“42.120.74.119”,那麼設置的格式為“42.120.74.119/32”,

獲取本機出口公網 IP 的方法,可直接訪問 https://www.ip.cn/

設置完之後,可通過如下命令驗證,與 Zookeeper 的連通是否成功:

echo mntr |nc mse-f3288e50-p.zk.mse.aliyuncs.com 2181

申請完 ZooKeeper 實例之後,可以開始寫一個 DubboProvider ,代碼如下:

public class DubboProvider {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ServiceConfig<GreetingService> service = new ServiceConfig<>();
service.setApplication(new ApplicationConfig("first-dubbo-provider"));
service.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
service.setInterface(GreetingService.class);
service.setRef(new GreetingsServiceImpl());
service.export();
System.out.println("======dubbo service started");
new CountDownLatch(1).await();
}
}

把 ZOOKEEPER_URL 換成你申請的地址鏈接串即可,可直接啟動,啟動之後,我們通過微服務引擎的數據管理頁面,可以清晰看到, DubboProvider 將自己的服務元數據,發佈在“/dubbo/dubbo.GreetingService/providers/”目錄下面,以一個節點(dubbo%3A開頭)形式存在, 這是 1 個 ZooKeeper 的臨時節點,當把 Provider 的進程關閉後,這個節點會消失,但是父節點不會,可以自己驗證一下。

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

進入微服務引擎控制檯之後,點擊“創建實例”按鈕,這裡我們選擇創建公網實例,配置選擇 1 核 2G 。

阿里雲提供全託管 ZooKeeper

點擊創建之後,進入列表頁,這裡會展示你所有的集群,剛創建集群,運行狀態會變成“啟動/加載中”,整個創建過程,在 3 分鐘左右,之後你就擁有一個屬於自己的 ZooKeeper 的集群了。

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

mse-f3288e50-p.zk.mse.aliyuncs.com(外)這個鏈接串,是提供的外網域名,剛生產出來,是訪問不了的,因為安全的限制,需要給它加白名單,加白名單的入口,從集群列表頁,點擊管理,進入管理頁面,白名單設置按鈕:

阿里雲提供全託管 ZooKeeper

白名單的設置規則是,需要把你的公網出口 IP 或者 IP 段,添加進來,才能訪問到 ZooKeeper 集群,例如,此次我本機的出口公網 IP 為“42.120.74.119”,那麼設置的格式為“42.120.74.119/32”,

獲取本機出口公網 IP 的方法,可直接訪問 https://www.ip.cn/

設置完之後,可通過如下命令驗證,與 Zookeeper 的連通是否成功:

echo mntr |nc mse-f3288e50-p.zk.mse.aliyuncs.com 2181

申請完 ZooKeeper 實例之後,可以開始寫一個 DubboProvider ,代碼如下:

public class DubboProvider {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ServiceConfig<GreetingService> service = new ServiceConfig<>();
service.setApplication(new ApplicationConfig("first-dubbo-provider"));
service.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
service.setInterface(GreetingService.class);
service.setRef(new GreetingsServiceImpl());
service.export();
System.out.println("======dubbo service started");
new CountDownLatch(1).await();
}
}

把 ZOOKEEPER_URL 換成你申請的地址鏈接串即可,可直接啟動,啟動之後,我們通過微服務引擎的數據管理頁面,可以清晰看到, DubboProvider 將自己的服務元數據,發佈在“/dubbo/dubbo.GreetingService/providers/”目錄下面,以一個節點(dubbo%3A開頭)形式存在, 這是 1 個 ZooKeeper 的臨時節點,當把 Provider 的進程關閉後,這個節點會消失,但是父節點不會,可以自己驗證一下。

阿里雲提供全託管 ZooKeeper

接下來,我們啟動一下 Consumer 節點,需要連接同一個 ZooKeeper 註冊中心,從上面訂閱剛才發佈的接口地址列

表,代碼如下:

public class DubboConsumer {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ReferenceConfig<GreetingService> reference = new ReferenceConfig<>();
reference.setApplication(new ApplicationConfig("first-dubbo-consumer"));
reference.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
reference.setInterface(GreetingService.class);
GreetingService service = reference.get();
String message = service.sayHello("dubbo");
System.out.println("======"+message);
Thread.sleep(Integer.MAX_VALUE);
}
}

啟動之後,我們通過數據管理頁面,可以看到,Consumer 在 ZooKeeper 上面也註冊了 1 個節點,在路徑“/dubbo/dubbo.GreetingService/consumers/”下面:

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

進入微服務引擎控制檯之後,點擊“創建實例”按鈕,這裡我們選擇創建公網實例,配置選擇 1 核 2G 。

阿里雲提供全託管 ZooKeeper

點擊創建之後,進入列表頁,這裡會展示你所有的集群,剛創建集群,運行狀態會變成“啟動/加載中”,整個創建過程,在 3 分鐘左右,之後你就擁有一個屬於自己的 ZooKeeper 的集群了。

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

mse-f3288e50-p.zk.mse.aliyuncs.com(外)這個鏈接串,是提供的外網域名,剛生產出來,是訪問不了的,因為安全的限制,需要給它加白名單,加白名單的入口,從集群列表頁,點擊管理,進入管理頁面,白名單設置按鈕:

阿里雲提供全託管 ZooKeeper

白名單的設置規則是,需要把你的公網出口 IP 或者 IP 段,添加進來,才能訪問到 ZooKeeper 集群,例如,此次我本機的出口公網 IP 為“42.120.74.119”,那麼設置的格式為“42.120.74.119/32”,

獲取本機出口公網 IP 的方法,可直接訪問 https://www.ip.cn/

設置完之後,可通過如下命令驗證,與 Zookeeper 的連通是否成功:

echo mntr |nc mse-f3288e50-p.zk.mse.aliyuncs.com 2181

申請完 ZooKeeper 實例之後,可以開始寫一個 DubboProvider ,代碼如下:

public class DubboProvider {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ServiceConfig<GreetingService> service = new ServiceConfig<>();
service.setApplication(new ApplicationConfig("first-dubbo-provider"));
service.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
service.setInterface(GreetingService.class);
service.setRef(new GreetingsServiceImpl());
service.export();
System.out.println("======dubbo service started");
new CountDownLatch(1).await();
}
}

把 ZOOKEEPER_URL 換成你申請的地址鏈接串即可,可直接啟動,啟動之後,我們通過微服務引擎的數據管理頁面,可以清晰看到, DubboProvider 將自己的服務元數據,發佈在“/dubbo/dubbo.GreetingService/providers/”目錄下面,以一個節點(dubbo%3A開頭)形式存在, 這是 1 個 ZooKeeper 的臨時節點,當把 Provider 的進程關閉後,這個節點會消失,但是父節點不會,可以自己驗證一下。

阿里雲提供全託管 ZooKeeper

接下來,我們啟動一下 Consumer 節點,需要連接同一個 ZooKeeper 註冊中心,從上面訂閱剛才發佈的接口地址列

表,代碼如下:

public class DubboConsumer {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ReferenceConfig<GreetingService> reference = new ReferenceConfig<>();
reference.setApplication(new ApplicationConfig("first-dubbo-consumer"));
reference.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
reference.setInterface(GreetingService.class);
GreetingService service = reference.get();
String message = service.sayHello("dubbo");
System.out.println("======"+message);
Thread.sleep(Integer.MAX_VALUE);
}
}

啟動之後,我們通過數據管理頁面,可以看到,Consumer 在 ZooKeeper 上面也註冊了 1 個節點,在路徑“/dubbo/dubbo.GreetingService/consumers/”下面:

阿里雲提供全託管 ZooKeeper

同時,它也是屬於臨時節點,節點名字是經過 URL 編碼的,解碼後可以看到如下:

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

進入微服務引擎控制檯之後,點擊“創建實例”按鈕,這裡我們選擇創建公網實例,配置選擇 1 核 2G 。

阿里雲提供全託管 ZooKeeper

點擊創建之後,進入列表頁,這裡會展示你所有的集群,剛創建集群,運行狀態會變成“啟動/加載中”,整個創建過程,在 3 分鐘左右,之後你就擁有一個屬於自己的 ZooKeeper 的集群了。

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

mse-f3288e50-p.zk.mse.aliyuncs.com(外)這個鏈接串,是提供的外網域名,剛生產出來,是訪問不了的,因為安全的限制,需要給它加白名單,加白名單的入口,從集群列表頁,點擊管理,進入管理頁面,白名單設置按鈕:

阿里雲提供全託管 ZooKeeper

白名單的設置規則是,需要把你的公網出口 IP 或者 IP 段,添加進來,才能訪問到 ZooKeeper 集群,例如,此次我本機的出口公網 IP 為“42.120.74.119”,那麼設置的格式為“42.120.74.119/32”,

獲取本機出口公網 IP 的方法,可直接訪問 https://www.ip.cn/

設置完之後,可通過如下命令驗證,與 Zookeeper 的連通是否成功:

echo mntr |nc mse-f3288e50-p.zk.mse.aliyuncs.com 2181

申請完 ZooKeeper 實例之後,可以開始寫一個 DubboProvider ,代碼如下:

public class DubboProvider {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ServiceConfig<GreetingService> service = new ServiceConfig<>();
service.setApplication(new ApplicationConfig("first-dubbo-provider"));
service.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
service.setInterface(GreetingService.class);
service.setRef(new GreetingsServiceImpl());
service.export();
System.out.println("======dubbo service started");
new CountDownLatch(1).await();
}
}

把 ZOOKEEPER_URL 換成你申請的地址鏈接串即可,可直接啟動,啟動之後,我們通過微服務引擎的數據管理頁面,可以清晰看到, DubboProvider 將自己的服務元數據,發佈在“/dubbo/dubbo.GreetingService/providers/”目錄下面,以一個節點(dubbo%3A開頭)形式存在, 這是 1 個 ZooKeeper 的臨時節點,當把 Provider 的進程關閉後,這個節點會消失,但是父節點不會,可以自己驗證一下。

阿里雲提供全託管 ZooKeeper

接下來,我們啟動一下 Consumer 節點,需要連接同一個 ZooKeeper 註冊中心,從上面訂閱剛才發佈的接口地址列

表,代碼如下:

public class DubboConsumer {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ReferenceConfig<GreetingService> reference = new ReferenceConfig<>();
reference.setApplication(new ApplicationConfig("first-dubbo-consumer"));
reference.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
reference.setInterface(GreetingService.class);
GreetingService service = reference.get();
String message = service.sayHello("dubbo");
System.out.println("======"+message);
Thread.sleep(Integer.MAX_VALUE);
}
}

啟動之後,我們通過數據管理頁面,可以看到,Consumer 在 ZooKeeper 上面也註冊了 1 個節點,在路徑“/dubbo/dubbo.GreetingService/consumers/”下面:

阿里雲提供全託管 ZooKeeper

同時,它也是屬於臨時節點,節點名字是經過 URL 編碼的,解碼後可以看到如下:

阿里雲提供全託管 ZooKeeper

除了可以看到註冊在 ZooKeeper 上面的數據結構及內容,微服務引擎還提供了 ZooKeeper 常見的監控圖,例如客戶端鏈接數,訪問ZooKeeper 的 TPS(寫操作),QPS(讀操作),如下圖所示:

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

進入微服務引擎控制檯之後,點擊“創建實例”按鈕,這裡我們選擇創建公網實例,配置選擇 1 核 2G 。

阿里雲提供全託管 ZooKeeper

點擊創建之後,進入列表頁,這裡會展示你所有的集群,剛創建集群,運行狀態會變成“啟動/加載中”,整個創建過程,在 3 分鐘左右,之後你就擁有一個屬於自己的 ZooKeeper 的集群了。

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

mse-f3288e50-p.zk.mse.aliyuncs.com(外)這個鏈接串,是提供的外網域名,剛生產出來,是訪問不了的,因為安全的限制,需要給它加白名單,加白名單的入口,從集群列表頁,點擊管理,進入管理頁面,白名單設置按鈕:

阿里雲提供全託管 ZooKeeper

白名單的設置規則是,需要把你的公網出口 IP 或者 IP 段,添加進來,才能訪問到 ZooKeeper 集群,例如,此次我本機的出口公網 IP 為“42.120.74.119”,那麼設置的格式為“42.120.74.119/32”,

獲取本機出口公網 IP 的方法,可直接訪問 https://www.ip.cn/

設置完之後,可通過如下命令驗證,與 Zookeeper 的連通是否成功:

echo mntr |nc mse-f3288e50-p.zk.mse.aliyuncs.com 2181

申請完 ZooKeeper 實例之後,可以開始寫一個 DubboProvider ,代碼如下:

public class DubboProvider {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ServiceConfig<GreetingService> service = new ServiceConfig<>();
service.setApplication(new ApplicationConfig("first-dubbo-provider"));
service.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
service.setInterface(GreetingService.class);
service.setRef(new GreetingsServiceImpl());
service.export();
System.out.println("======dubbo service started");
new CountDownLatch(1).await();
}
}

把 ZOOKEEPER_URL 換成你申請的地址鏈接串即可,可直接啟動,啟動之後,我們通過微服務引擎的數據管理頁面,可以清晰看到, DubboProvider 將自己的服務元數據,發佈在“/dubbo/dubbo.GreetingService/providers/”目錄下面,以一個節點(dubbo%3A開頭)形式存在, 這是 1 個 ZooKeeper 的臨時節點,當把 Provider 的進程關閉後,這個節點會消失,但是父節點不會,可以自己驗證一下。

阿里雲提供全託管 ZooKeeper

接下來,我們啟動一下 Consumer 節點,需要連接同一個 ZooKeeper 註冊中心,從上面訂閱剛才發佈的接口地址列

表,代碼如下:

public class DubboConsumer {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ReferenceConfig<GreetingService> reference = new ReferenceConfig<>();
reference.setApplication(new ApplicationConfig("first-dubbo-consumer"));
reference.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
reference.setInterface(GreetingService.class);
GreetingService service = reference.get();
String message = service.sayHello("dubbo");
System.out.println("======"+message);
Thread.sleep(Integer.MAX_VALUE);
}
}

啟動之後,我們通過數據管理頁面,可以看到,Consumer 在 ZooKeeper 上面也註冊了 1 個節點,在路徑“/dubbo/dubbo.GreetingService/consumers/”下面:

阿里雲提供全託管 ZooKeeper

同時,它也是屬於臨時節點,節點名字是經過 URL 編碼的,解碼後可以看到如下:

阿里雲提供全託管 ZooKeeper

除了可以看到註冊在 ZooKeeper 上面的數據結構及內容,微服務引擎還提供了 ZooKeeper 常見的監控圖,例如客戶端鏈接數,訪問ZooKeeper 的 TPS(寫操作),QPS(讀操作),如下圖所示:

阿里雲提供全託管 ZooKeeper

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

進入微服務引擎控制檯之後,點擊“創建實例”按鈕,這裡我們選擇創建公網實例,配置選擇 1 核 2G 。

阿里雲提供全託管 ZooKeeper

點擊創建之後,進入列表頁,這裡會展示你所有的集群,剛創建集群,運行狀態會變成“啟動/加載中”,整個創建過程,在 3 分鐘左右,之後你就擁有一個屬於自己的 ZooKeeper 的集群了。

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

mse-f3288e50-p.zk.mse.aliyuncs.com(外)這個鏈接串,是提供的外網域名,剛生產出來,是訪問不了的,因為安全的限制,需要給它加白名單,加白名單的入口,從集群列表頁,點擊管理,進入管理頁面,白名單設置按鈕:

阿里雲提供全託管 ZooKeeper

白名單的設置規則是,需要把你的公網出口 IP 或者 IP 段,添加進來,才能訪問到 ZooKeeper 集群,例如,此次我本機的出口公網 IP 為“42.120.74.119”,那麼設置的格式為“42.120.74.119/32”,

獲取本機出口公網 IP 的方法,可直接訪問 https://www.ip.cn/

設置完之後,可通過如下命令驗證,與 Zookeeper 的連通是否成功:

echo mntr |nc mse-f3288e50-p.zk.mse.aliyuncs.com 2181

申請完 ZooKeeper 實例之後,可以開始寫一個 DubboProvider ,代碼如下:

public class DubboProvider {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ServiceConfig<GreetingService> service = new ServiceConfig<>();
service.setApplication(new ApplicationConfig("first-dubbo-provider"));
service.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
service.setInterface(GreetingService.class);
service.setRef(new GreetingsServiceImpl());
service.export();
System.out.println("======dubbo service started");
new CountDownLatch(1).await();
}
}

把 ZOOKEEPER_URL 換成你申請的地址鏈接串即可,可直接啟動,啟動之後,我們通過微服務引擎的數據管理頁面,可以清晰看到, DubboProvider 將自己的服務元數據,發佈在“/dubbo/dubbo.GreetingService/providers/”目錄下面,以一個節點(dubbo%3A開頭)形式存在, 這是 1 個 ZooKeeper 的臨時節點,當把 Provider 的進程關閉後,這個節點會消失,但是父節點不會,可以自己驗證一下。

阿里雲提供全託管 ZooKeeper

接下來,我們啟動一下 Consumer 節點,需要連接同一個 ZooKeeper 註冊中心,從上面訂閱剛才發佈的接口地址列

表,代碼如下:

public class DubboConsumer {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ReferenceConfig<GreetingService> reference = new ReferenceConfig<>();
reference.setApplication(new ApplicationConfig("first-dubbo-consumer"));
reference.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
reference.setInterface(GreetingService.class);
GreetingService service = reference.get();
String message = service.sayHello("dubbo");
System.out.println("======"+message);
Thread.sleep(Integer.MAX_VALUE);
}
}

啟動之後,我們通過數據管理頁面,可以看到,Consumer 在 ZooKeeper 上面也註冊了 1 個節點,在路徑“/dubbo/dubbo.GreetingService/consumers/”下面:

阿里雲提供全託管 ZooKeeper

同時,它也是屬於臨時節點,節點名字是經過 URL 編碼的,解碼後可以看到如下:

阿里雲提供全託管 ZooKeeper

除了可以看到註冊在 ZooKeeper 上面的數據結構及內容,微服務引擎還提供了 ZooKeeper 常見的監控圖,例如客戶端鏈接數,訪問ZooKeeper 的 TPS(寫操作),QPS(讀操作),如下圖所示:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

"

自 2010 年左右第一次引入以來,Apache ZooKeeper 目前在阿里巴巴集團內部已經有了將近 10 年的發展,使用的場景非常廣泛,基於 ZooKeeper 強一致性的特點,被用在了分佈式鎖、分佈式隊列、Leader 選舉、服務註冊發現和配置管理等多個大數據和微服務場景下,包括配置中心,註冊中心,分佈式框架下,分佈式調度框架,分佈式消息中間件,分佈式數據中間件等。

其中,在微服務場景中,註冊中心的地位舉足輕重,承載著地址路由的核心功能,常見的有 ZooKeeper,Eureka和 Nacos,在日常的研發中,如果沒有接觸運維過這些註冊中心的開發同學,需要重新花大部分時間學習瞭解這些組件,並且如果想要在生產環境良好的運行它們,還需要有豐富的運維經驗。

為此,阿里雲推出了全託管的 ZooKeeper 集群產品。

快速部署,開箱即用

在微服務應用開發中,就算是寫個簡單的 HelloWorld 程序提前驗證業務流程,都需要手動預先搭建一套註冊中心,搭建的過程中,各種註冊中心的多種配置參數,需要了解並且合理設置,如果需要到不同的註冊中心,搭建的方式又不能通用,完成一個簡單微服務接口的開發,花了 80% 的時間在環境的搭建上面。

MSE 提供了一鍵開通集群的能力,基於雲原生 K8s 資源底座,3 分鐘左右,你就可以擁有一套屬於自己的註冊中心集群,微服務引擎的交付物,非常簡單,就是一個連接串,後面已經幫你做好了負載均衡,高可用檢測等等,目前 MSE 支持 ZooKeeper 註冊中心,如果你有其他註冊中心的需求,請肆無忌憚的告訴我們,可以在開通頁面選擇你需要的。

阿里雲提供全託管 ZooKeeper

安全高效的連通方案

微服務引擎支持兩種網絡連通方案,公網實例和 VPC 專有網絡,公網實例模式會給集群申請一個可供公網環境訪問的域名,默認是有網絡安全策略限制,無法訪問的,需要用戶自己額外配置白名單策略,這樣最大限度的提升了系統的安全等級;VPC 專有網絡,是阿里雲的私網環境,網絡的隔離性更加徹底,只有用戶自己的專有網絡,才能與微服務引擎實例連通,同時,網絡延時,更加低,網絡訪問質量高效。

兩種不同的網絡方案 ,覆蓋了用戶日常的使用場景,在非阿里雲網絡環境下,可以通過公網模式,進行日常開發與測試,正式生產時,再切換至高效的專有網絡模式。

阿里雲提供全託管 ZooKeeper

實用的節點管理

微服務引擎提供了節點數據管理的可視化頁面,ZooKeeper 的數據結構,在內存中是一顆樹,我們將它一比一的在頁面上呈現出來,這樣就能直觀形象的看到整個內存數據的狀態,同時支持了可以在頁面上對內存數據進行,增加,刪除,更新,查詢的常規操作。

在新增節點的時候,支持自動創建父目錄,刪除父節點的時候,支持遞歸刪除下面的子節點,所見即所得,非常方便,是 ZooKeeper 原生客戶端強功能有力的補充。

阿里雲提供全託管 ZooKeeper

白屏化參數設置

白屏化的運維,能夠最大限度的降低線上安全事故,通過工具自動化,降低人帶來的不確定性操作,微服務引擎,提供了註冊中心常用的配置項修改功能,可以直接通過頁面上進行更改操作,更改完之後,一鍵重啟生效。ZooKeeper 目前支持常用的配置項如下所示,同時還支持超級用戶的設置,在你對 ZooKeeper 節點使用了 ACL 策略時,如果忘記了策略密碼,可以通過超級用戶的方式,訪問加密數據。

阿里雲提供全託管 ZooKeeper

高可用能力

微服務引擎實例,默認使用的是多可用區部署,這意味著,具備了多區域的容災能力,在某個可用區出現系統性故障時,可以最大限度的保證整體服務的連續可用性。

微服務引擎的資源底座,依託於容器服務 ACK,是一款久經考驗的商業化產品,同時也是阿里集團內規模化最大的在線服務容器組件,能夠支持節點宕機自動恢復,磁盤使用的是阿里雲的高性能雲盤,保證在節點出現故障事,數據的完備性。

阿里雲提供全託管 ZooKeeper

兼容原生接口

微服務引擎支持的註冊中心,原則之一,就是完全兼容原產品的接口和功能,無需修改代碼,對用戶使用完全透明,如果需要切回原產品,也是無縫切換,不存在使用壁壘,給用戶最大的選擇。

Dubbo 應用集成 MSE

接下來,通過開發一個日常的 Dubbo 微服務應用,給大家演示下如何集成 MSE(微服務引擎),下面是部署結構圖:

阿里雲提供全託管 ZooKeeper

首先,登陸微服務引擎官網,申請 1 個 ZooKeeper 集群實例,目前公測階段,實例是免費使用的,只需要開通一下服務,不收取任何其他費用:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

進入微服務引擎控制檯之後,點擊“創建實例”按鈕,這裡我們選擇創建公網實例,配置選擇 1 核 2G 。

阿里雲提供全託管 ZooKeeper

點擊創建之後,進入列表頁,這裡會展示你所有的集群,剛創建集群,運行狀態會變成“啟動/加載中”,整個創建過程,在 3 分鐘左右,之後你就擁有一個屬於自己的 ZooKeeper 的集群了。

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

mse-f3288e50-p.zk.mse.aliyuncs.com(外)這個鏈接串,是提供的外網域名,剛生產出來,是訪問不了的,因為安全的限制,需要給它加白名單,加白名單的入口,從集群列表頁,點擊管理,進入管理頁面,白名單設置按鈕:

阿里雲提供全託管 ZooKeeper

白名單的設置規則是,需要把你的公網出口 IP 或者 IP 段,添加進來,才能訪問到 ZooKeeper 集群,例如,此次我本機的出口公網 IP 為“42.120.74.119”,那麼設置的格式為“42.120.74.119/32”,

獲取本機出口公網 IP 的方法,可直接訪問 https://www.ip.cn/

設置完之後,可通過如下命令驗證,與 Zookeeper 的連通是否成功:

echo mntr |nc mse-f3288e50-p.zk.mse.aliyuncs.com 2181

申請完 ZooKeeper 實例之後,可以開始寫一個 DubboProvider ,代碼如下:

public class DubboProvider {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ServiceConfig<GreetingService> service = new ServiceConfig<>();
service.setApplication(new ApplicationConfig("first-dubbo-provider"));
service.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
service.setInterface(GreetingService.class);
service.setRef(new GreetingsServiceImpl());
service.export();
System.out.println("======dubbo service started");
new CountDownLatch(1).await();
}
}

把 ZOOKEEPER_URL 換成你申請的地址鏈接串即可,可直接啟動,啟動之後,我們通過微服務引擎的數據管理頁面,可以清晰看到, DubboProvider 將自己的服務元數據,發佈在“/dubbo/dubbo.GreetingService/providers/”目錄下面,以一個節點(dubbo%3A開頭)形式存在, 這是 1 個 ZooKeeper 的臨時節點,當把 Provider 的進程關閉後,這個節點會消失,但是父節點不會,可以自己驗證一下。

阿里雲提供全託管 ZooKeeper

接下來,我們啟動一下 Consumer 節點,需要連接同一個 ZooKeeper 註冊中心,從上面訂閱剛才發佈的接口地址列

表,代碼如下:

public class DubboConsumer {
private final static String ZOOKEEPER_URL = "mse-f3288e50-p.zk.mse.aliyuncs.com";
public static void main(String[] args) throws InterruptedException {
ReferenceConfig<GreetingService> reference = new ReferenceConfig<>();
reference.setApplication(new ApplicationConfig("first-dubbo-consumer"));
reference.setRegistry(new RegistryConfig("zookeeper://" + ZOOKEEPER_URL + ":2181"));
reference.setInterface(GreetingService.class);
GreetingService service = reference.get();
String message = service.sayHello("dubbo");
System.out.println("======"+message);
Thread.sleep(Integer.MAX_VALUE);
}
}

啟動之後,我們通過數據管理頁面,可以看到,Consumer 在 ZooKeeper 上面也註冊了 1 個節點,在路徑“/dubbo/dubbo.GreetingService/consumers/”下面:

阿里雲提供全託管 ZooKeeper

同時,它也是屬於臨時節點,節點名字是經過 URL 編碼的,解碼後可以看到如下:

阿里雲提供全託管 ZooKeeper

除了可以看到註冊在 ZooKeeper 上面的數據結構及內容,微服務引擎還提供了 ZooKeeper 常見的監控圖,例如客戶端鏈接數,訪問ZooKeeper 的 TPS(寫操作),QPS(讀操作),如下圖所示:

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

阿里雲提供全託管 ZooKeeper

結束語

通過上面的微服務示例開發,不需要太多的的運維學習成本,很快就擁有了自己的 1 個 ZooKeeper 集群,大大提高了研發效率,專注於業務,微服務引擎目前處於公測期間,完全免費,歡迎體驗。

本文作者:草谷,阿里雲高級工程師,目前負責阿里集團內軟負載分佈式組件TaoKeeper,商業化產品MSE,分佈式服務註冊中心及高可用架構領域的相關工作。

本文為雲棲社區內容,未經允許不得轉載。

"

相關推薦

推薦中...