disconf(二):服务端使用总结
1、服務(wù)端原理
? ? ? 客戶端啟動(dòng),把配置文件,配置項(xiàng)存到倉(cāng)庫(kù),等到服務(wù)端啟動(dòng),從服務(wù)端拉取數(shù)據(jù);服務(wù)端更新,則通過(guò)zk通知客戶端,客戶端知道更新后,會(huì)從服務(wù)端拉取最新的配置文件,如果更新的是redis配置,則需要寫回調(diào)函數(shù)重啟redis,不寫,則要重啟項(xiàng)目;更新其它的一些參數(shù)不需要重啟項(xiàng)目;另外zk最好配成集群模式,這樣可以做到高可用,一個(gè)主服務(wù)端掛了,會(huì)選舉另外一個(gè)從的作為主服務(wù)端。
2、部署
? ? ? 需要的軟件mysql(存放一些初始化數(shù)據(jù))、tomcat(存放服務(wù)端的動(dòng)態(tài)文件)、nginx(存放服務(wù)端的靜態(tài)文件)、zookeeper(存放客戶端的注冊(cè)信息)、redis(存放用戶的登錄、登出信息)
? ? ? ?請(qǐng)參考:https://www.cnblogs.com/aslongas/p/6680546.html
3、性能測(cè)試
? ? ??壓測(cè)工具:Jmeter
? ? ? disconf和spring cloud config server,經(jīng)壓力測(cè)試,disconf的容錯(cuò)性、并發(fā)更高,有管理界面, ?配置略復(fù)雜;spring cloud config性能較低,需要很多優(yōu)化,并且需要同時(shí)掌握spring cloud的各個(gè)組件,才能更好的優(yōu)化。
4、局限性
? ? ? 1、修改mysql等服務(wù)器的配置,不能馬上生效,必須重新啟動(dòng)項(xiàng)目,要生效的話,必須要寫回調(diào)函數(shù),增加編程的復(fù)雜性。
? ? ? ?2、配置文件類、配置項(xiàng)所在的類、回調(diào)函數(shù)類 都必須是JavaBean,并且它們的”scope” 都必須是singleton的。用戶標(biāo)注配置時(shí)略有些不習(xí)慣。目前注解是放在get方法之上的,而不是放在域上。
? ? ? 3、注解放在get方法上,一般情況下是沒(méi)有問(wèn)題的。但是對(duì)于”call self”的方法調(diào)用,AOP無(wú)法攔截得到,這樣就無(wú)法統(tǒng)一處理這些配置。一旦出現(xiàn)這種情況,“非一致性讀問(wèn)題”就會(huì)產(chǎn)生。
轉(zhuǎn)載于:https://blog.51cto.com/xxdeelon/2096116
總結(jié)
以上是生活随笔為你收集整理的disconf(二):服务端使用总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql安装条款_mysql 安装注意
- 下一篇: thincmf 分页无法搜索_think