Apollo干啥用?
一.計劃簡介
1.Apollo是攜程框架部開發的分布式配置中心。
2.集中管理不同的應用程序環境和不同集群的配置。
3.配置修改后,可以實時推送到應用端。
4、具有標準化權限、流程化管理等特點。
第二,組件
Apollo包括一個服務器和一個客戶端。
服務器:基于SpringBoot和SpringCloud的開發,打包后可以直接運行,不需要安裝Tomcat等額外的應用容器。
Java客戶端:獨立于任何框架,可以在所有Java運行時環境下運行,對Spring/SpringBoot環境也有很好的支持。
第三,的特點
1.同意管理不同環境和不同集群的配置。
2.配置修改實時生效(熱發布)
3.版本發布管理——所有的配置都有一個版本概念,方便配置回滾。
4.灰度發布——點擊發布,僅對部分應用實例生效,觀察一段時間沒有問題后,再推送給所有應用實例。
5.權限管理、發布審核和操作審核
權限管理——有完善的權限管理。
發布評審——配置管理分為兩個步驟:編輯和發布,以減少人為錯誤。
操作審計–所有操作都有審計日志,這有助于跟蹤問題。
6.監控客戶端配置信息——在界面上可以方便地看到哪些實例正在使用配置。
7.提供java和。netnativeclients來促進應用程序集成。
8.提供了http接口,并且非java和。net應用程序也可以方便地使用。
9.提供開放式平套API
10.部署非常簡單。只要安裝了Java和MySQL,Apollo就可以運行。
第四,實施過程
1.用戶在配置中心修改和發布配置。
2.配置中心通知Apollo客戶機配置更新。
3.Apollo客戶端從配置中心獲取最新的配置,更新本地配置并通知應用程序。
五、工作原理
上圖簡單描述了的整體設計,我們可以從下往上看:
1.配置服務提供讀取、推送配置等功能,服務對象為Apollo客戶端。
Service提供配置修改、發布等功能,服務對象是ApolloPortal(管理界面)。
3.配置服務和管理服務是多實例和無狀態的部署,因此您需要在Eureka中注冊自己并保持心跳。
4.在Eureka之上,我們設置了一層元服務器來封裝Eureka的服務發現接口。
5.客戶端通過域名訪問元。服務器獲取Config服務的服務列表(IP端口),然后通過IP端口直接訪問服務。同時,它會在客戶端進行負載平衡和錯誤重試。
6.門戶通過域名訪問元服務器獲取AdminServic
如何寫一個能匹配字符串的mysql語句?
mysql的字符串匹配
需求表數據如下::。
Java代碼
mysqlgt從測試中選擇*
--
|id|姓名|
--
|1|abc**|
--
集合中的1行(0.00秒)
我想匹配abcde,就是a*代表一個字符。
分析:
正則化中,*代表0以上,所以這里存儲有問題,應該存儲。Or_then查詢sql可以通過like和REGEXP實現。
結論:
接受喜歡
Java代碼
mysqlgtselect*fromtestwhereabcdelikereplace(name,*,_)
--
|id|姓名|
--
|1|abc**|
--
集合中的1行(0.01秒)
用_替換,然后用like匹配
2.采用正則表達式
Java代碼
mysqlgtselect*fromtestwhereabcderegexpreplace(name,*,.)
--
|id|姓名|
--
|1|abc**|
--
集合中的1行(0.02秒)
替換為。然后匹配