如題,單體應(yīng)用拆分成多個(gè)服務(wù),互相 RPC 調(diào)用,但是沒(méi)有服務(wù)注冊(cè)、熔斷、限流這些算微服務(wù)嗎?
在webman中,你有實(shí)現(xiàn)熔斷和限流的好方案,甚至是全套PHP微服務(wù)方案嗎
微服務(wù)里服務(wù)注冊(cè)、熔斷、限流 不是必須的。
現(xiàn)在阿里云的服務(wù)都太到位了,服務(wù)器負(fù)載均衡擴(kuò)展很方便,mysql做主從也很方便,甚至都不需要代碼里配置主從數(shù)據(jù)庫(kù)
單體應(yīng)用拆分就變成了SOA,SOA細(xì)化就變成了micro-service
因?yàn)榉?wù)小了便多了,服務(wù)就需要治理,否則在運(yùn)維的過(guò)程中會(huì)非常頭疼
其實(shí)這里面只需要加入一個(gè)服務(wù)注冊(cè)+配置中心+基于redis的令牌桶就能輕松解決你想要的問(wèn)題
比如我這邊用的就是nacos作為配置中心和服務(wù)發(fā)現(xiàn)/注冊(cè),服務(wù)啟動(dòng)時(shí)就注冊(cè)對(duì)應(yīng)實(shí)例及服務(wù),做好心跳,對(duì)應(yīng)的服務(wù)實(shí)現(xiàn)令牌桶限流就好了
下游使用的時(shí)候通過(guò)服務(wù)發(fā)現(xiàn)進(jìn)行處理,對(duì)應(yīng)的元數(shù)據(jù)里有相關(guān)的指標(biāo)和參數(shù)
哈哈,我這邊也是用nacos做服務(wù)注冊(cè)配置中心的,用的sdk作者還正好在樓上。nacos主要還是java用的多吧,調(diào)用服務(wù)比較方便,php的話,很多東西還得自己實(shí)現(xiàn),例如調(diào)用實(shí)例的負(fù)載均衡
我對(duì)tinywan的nacos進(jìn)行的重新封裝,主要是配置監(jiān)聽(tīng)部分我做了適合我司的處理,和Tingwang不一樣的處理方案,隨后我會(huì)發(fā)布至插件商店
配置監(jiān)聽(tīng)部分完全不一樣,你可以看看~ https://github.com/workbunny/webman-nacos 我用的是異步+定時(shí)器+服務(wù)端長(zhǎng)輪詢做的監(jiān)聽(tīng),不是定時(shí)器+get
@CaesarTang 使用github搜索一下dtm,分布式事務(wù)協(xié)調(diào)服務(wù),這個(gè)dtm的webman-client目前我還沒(méi)開(kāi)源,因?yàn)闆](méi)做完單元測(cè)試,你也可以自行實(shí)現(xiàn),其實(shí)不難