摘要:針對您的個(gè)人需要,有一些設(shè)置和任務(wù)可用來調(diào)整服務(wù)器,讓我們來探索它們默認(rèn)端口號(hào)默認(rèn)情況下,服務(wù)器在端口上啟動(dòng)。
開發(fā)環(huán)境下運(yùn)行Lagom
1.開發(fā)環(huán)境
Lagom的sbt或者maven項(xiàng)目是可以基于開發(fā)的環(huán)境允許使用單個(gè)命令來運(yùn)行任意數(shù)量的服務(wù)。 當(dāng)代碼更改時(shí),同樣的命令也會(huì)重新加載服務(wù),這樣你就不用手動(dòng)重啟了,您可以繼續(xù)關(guān)注您的工作,并讓Lagom進(jìn)行編譯和重新加載。 (1)運(yùn)行Maven中的所有服務(wù) 命令很簡單,就是 lagom:runAll 如果您有很多服務(wù),或者第一次檢索依賴關(guān)系,這可能需要一段時(shí)間, (2)熱加載 一旦“Services started”消息出現(xiàn),如果您對源代碼進(jìn)行更改,您將在控制臺(tái)看到這樣的輸出: [info] Compiling 1 Java source to //target/scala-2.11/classes... --- (RELOAD) --- (3)我們所看到的背后 當(dāng)我們運(yùn)行了runAll命令之后,在背后到底都發(fā)生了什么呢?? >啟動(dòng)了一個(gè)嵌入式服務(wù)定位器(特別類似于zk或者eureka) >啟動(dòng)了一個(gè)Cassandra服務(wù)器 >開始了kafka服務(wù)器(這個(gè)比較熱了,mq系列) >你的服務(wù)開始 >并向服務(wù)定位器注冊 這一切都是在沒有特殊代碼或附加配置的情況下自動(dòng)發(fā)生的。 您可以通過在web瀏覽器中查看http://localhost:8000 / services來驗(yàn)證您的服務(wù)正在運(yùn)行(或者使用像curl這樣的命令行工具),服務(wù)定位器,在端口8000上運(yùn)行,江湖返回類似于如下這樣的信息: [{"name":"hello-stream","url":"http://0.0.0.0:26230"}, {"name":"cas_native","url":"tcp://127.0.0.1:4000/cas_native"}, {"name":"hello","url":"http://0.0.0.0:24266"}] cas_native是Cassandra服務(wù)器,正如您將在編寫持久和集群服務(wù)的文檔中學(xué)習(xí)的,Cassandra是Lagom的默認(rèn)數(shù)據(jù)庫,它是開發(fā)環(huán)境的一個(gè)組成部分。 服務(wù)為定位器,Cassandra和kafka在接下來的章節(jié)中詳細(xì)討論。
2.運(yùn)行服務(wù)
就像在上節(jié)講的那樣,在構(gòu)建中定義的所有Lagom服務(wù)都可以用單個(gè)任務(wù)來運(yùn)行:runAll。執(zhí)行此任務(wù)時(shí),將啟動(dòng)嵌入式服務(wù)定位器,一個(gè)內(nèi)嵌的 Cassandra服務(wù)器也會(huì)隨之啟動(dòng),然后你的所有的服務(wù)都會(huì)并行的被啟動(dòng)起來。而且,所有啟動(dòng)的服務(wù)都將以熱重載模式運(yùn)行。熱重新加載意味著服務(wù)會(huì)自動(dòng)地重新加載您所做的每一個(gè)更改,這樣您就不必手動(dòng)重新啟動(dòng)它們。大多數(shù)時(shí)候,runAll任務(wù)將為您提供良好的服務(wù)。然而,有時(shí)您可能想手動(dòng)啟動(dòng)一些服務(wù),這是當(dāng)run 任務(wù)將派上用場的時(shí)候。run任務(wù)對每個(gè)Lagom服務(wù)實(shí)現(xiàn)項(xiàng)目都可用。 在Maven中,您可以使用Maven項(xiàng)目列表標(biāo)記來執(zhí)行特定服務(wù)的run任務(wù): $ mvn -pllagom:run 您應(yīng)該記住的一點(diǎn)是,run只啟動(dòng)特定的服務(wù),它既不啟動(dòng)服務(wù)定位器,也不啟動(dòng)Cassandra服務(wù)器。因此,在手動(dòng)啟動(dòng)服務(wù)之前,您可能需要手動(dòng)啟動(dòng)服務(wù)定位器和Cassandra服務(wù)器。
3.端口是如何分配給服務(wù)的
在檢查運(yùn)行服務(wù)列表時(shí),您可能想知道端口是如何分配的。您應(yīng)該注意到的一點(diǎn)是,端口的分配是一致的,這意味著每個(gè)服務(wù)將得到分配的相同端口,這是真正有用的,它允許我們來編寫測試服務(wù)功能的測試腳本,甚至可以與與團(tuán)隊(duì)的其他成員共享創(chuàng)建的腳本。即使在不同的機(jī)器上,同樣的端口也會(huì)被確定地選擇!注意,這里提醒一下,不是說所有服務(wù)使用一個(gè)端口,而是lagom使用算法,期間用到了項(xiàng)目名,也就是說,同一個(gè)項(xiàng)目。不管啥時(shí)候,它端口都是唯一的,算法導(dǎo)致的。 為每個(gè)服務(wù)分配一個(gè)端口的算法如下: >這個(gè)項(xiàng)目的名稱是散列的。 >哈希絕對值被投影到端口范圍(默認(rèn)的端口范圍是[49152,65535]) >如果沒有其他項(xiàng)目聲明相同的端口,則指定的端口分配給項(xiàng)目。如果兩個(gè)或多個(gè)項(xiàng)目被投影到同一個(gè)端口上,相互沖突的項(xiàng)目是按字母順序排列的,首先出現(xiàn)的項(xiàng)目將得到分配給它的預(yù)期端口。然而,余下的項(xiàng)目將得到最接近的(嚴(yán)格的)可用的臨近的端口。 總之,你不需要去擔(dān)心這個(gè),與大多數(shù)情況一樣,端口范圍寬到足以使沖突不可能發(fā)生。然而,有時(shí)您可能仍然傾向于將特定的端口分配給服務(wù)(例如,如果自動(dòng)分配的端口已經(jīng)在您的系統(tǒng)中使用)您可以手動(dòng)為項(xiàng)目的服務(wù)端口設(shè)置提供端口號(hào)。 在Maven中,您可以通過修改服務(wù)實(shí)現(xiàn)pom配置來實(shí)現(xiàn)這一點(diǎn):上文中的算法的描述,在默認(rèn)端口中,默認(rèn)端口是[49152,65535]。這也稱為短暫的端口范圍,IANA為動(dòng)態(tài)端口選擇使用了一系列的端口號(hào)。如果默認(rèn)范圍不適合您,您可以通過在構(gòu)建中添加以下內(nèi)容來更改它。 pom文件中加入: com.lightbend.lagom lagom-maven-plugin 11000 在此更改之后,您的服務(wù)項(xiàng)目將被分配到一個(gè)范圍[40000,45000],但是需要注意的是,我們的端口范圍的小,帶來的是兩個(gè)服務(wù)碰巧是分配同一個(gè)端口的可能性就大了。這本身并不是問題(只要所有項(xiàng)目都有足夠的端口),但是,在您的構(gòu)建中添加一個(gè)新的服務(wù)項(xiàng)目可能會(huì)導(dǎo)致對已分配到現(xiàn)有服務(wù)項(xiàng)目的端口的更改,如果這兩個(gè)項(xiàng)目都發(fā)生相同的端口。如果您不希望這種情況發(fā)生,請確保提供的端口范圍足夠?qū)?。或者,手?dòng)為服務(wù)項(xiàng)目分配端口,因?yàn)檫@是有意義的。 com.lightbend.lagom lagom-maven-plugin ${lagom.version} 40000 45000
4.服務(wù)定位器(就類似于zk和eureka)
服務(wù)定位器嵌入在Lagom的開發(fā)環(huán)境中,允許服務(wù)發(fā)現(xiàn)并相互通信。有一些設(shè)置和任務(wù)可以為您喜歡的嵌入式服務(wù)定位器調(diào)整,讓我們來探索它們: (1)默認(rèn)的端口號(hào) 在Lagon中,服務(wù)發(fā)現(xiàn)的端口號(hào)默認(rèn)的是8000,但是這個(gè)端口是非常容易被其他的應(yīng)用所占用的?;蛘?,您可以通過在構(gòu)建中添加以下內(nèi)容來告訴服務(wù)定位器在10000端口上運(yùn)行。 在總項(xiàng)目下的pom文件里配置:(2)與外部的服務(wù)進(jìn)交互 可以在您的構(gòu)建中定義的Lagom服務(wù)和無限數(shù)量的外部服務(wù)(可以在本地運(yùn)行或在另一臺(tái)機(jī)器上運(yùn)行)之間進(jìn)行通信。您要做的第一件事是在服務(wù)定位器中注冊每個(gè)外部服務(wù)。假設(shè)我們想要注冊一個(gè)名為weather的外部服務(wù),它運(yùn)行在http://localhost:3333中,下面是我們要添加到構(gòu)建的內(nèi)容。 在總項(xiàng)目下的pom文件里配置: com.lightbend.lagom lagom-maven-plugin ${lagom.version} 10000 上面的內(nèi)容確保服務(wù)定位器知道天氣服務(wù)。然后,如果您需要一個(gè)Lagom服務(wù)來與它進(jìn)行通信,只需將ServiceLocator進(jìn)行@inject,并使用它來定位weather服務(wù)的URI,或者使用它執(zhí)行一些任意的工作。 (3)與外部的Lagom項(xiàng)目集成 請注意,如果您想要與之通信的服務(wù)實(shí)際上是一個(gè)Lagom服務(wù),那么您可能想要閱讀有關(guān)與外部Lagom項(xiàng)目集成的文檔(就是Lagom參考指南(二)的第二節(jié))。 (4)啟動(dòng)與停止 當(dāng)執(zhí)行runAll任務(wù)時(shí),服務(wù)定位器會(huì)自動(dòng)啟動(dòng)。然而,有時(shí)您可能想手動(dòng)啟動(dòng)一些服務(wù),因此您不會(huì)使用runAll任務(wù)。這種情況下,您可以通過maven命令行l(wèi)agon:startServiceLocator手動(dòng)啟動(dòng)服務(wù)定位器,或者是使用lagom:stopServiceLocator來停掉服務(wù)注冊中心。 (5)讓服務(wù)定位失效 您可以通過在構(gòu)建中添加以下內(nèi)容來禁用嵌入式服務(wù)定位器。 在maven項(xiàng)目根路徑下的pom文件: com.lightbend.lagom lagom-maven-plugin ${lagom.version} http://localhost:3333 注意,通過禁用服務(wù)定位器,您的服務(wù)將無法進(jìn)行通信?;謴?fù)通信,您必須在您的服務(wù)中提供ServiceLocator的實(shí)現(xiàn)。 com.lightbend.lagom lagom-maven-plugin ${lagom.version} false
5.Cassandra Server
默認(rèn)情況下,需要保存數(shù)據(jù)的Lagom服務(wù)需要使用Cassandra作為數(shù)據(jù)庫。為了方便起見,我們在開發(fā)環(huán)境中嵌入了一個(gè)Cassandra服務(wù)器,這樣您就不必?fù)?dān)心安裝它了。針對您的個(gè)人需要,有一些設(shè)置和任務(wù)可用來調(diào)整Cassandra服務(wù)器,讓我們來探索它們: (1)默認(rèn)端口號(hào) 默認(rèn)情況下,Cassandra服務(wù)器在端口4000上啟動(dòng)。我們知道Cassandra 通常在端口9042上運(yùn)行,這正是我們選擇不同端口的原因:如果你碰巧有一個(gè)的話,我們不想干擾本地運(yùn)行的Cassandra 。如果當(dāng)前的默認(rèn)端口不適合您,例如您希望在端口9042上運(yùn)行嵌入的Cassandra服務(wù)器,那么您可以通過在構(gòu)建中添加以下內(nèi)容來實(shí)現(xiàn)。 在meven的pom中配置:(2)啟動(dòng)時(shí)候進(jìn)行清理: 默認(rèn)情況下,運(yùn)行服務(wù)創(chuàng)建的所有數(shù)據(jù)庫文件將在下一次啟動(dòng)Cassandra服務(wù)器時(shí)刪除。您可以通過在構(gòu)建中添加以下內(nèi)容來關(guān)閉這個(gè)特性 還是在maven的pom文件里: com.lightbend.lagom lagom-maven-plugin ${lagom.version} 9042 (3)秘鑰空間(棄用) 在Cassandra中的一個(gè)keyspace就代表一個(gè)名稱空間,它定義節(jié)點(diǎn)上的數(shù)據(jù)復(fù)制。每個(gè)服務(wù)應(yīng)該使用一個(gè)惟一的keyspace名稱,這樣不同服務(wù)的表就不會(huì)互相沖突。在開發(fā)環(huán)境中,默認(rèn)情況下,keyspace將自動(dòng)設(shè)置為項(xiàng)目的名稱(在可能替換了一些不允許的字符之后)。如果生成的密鑰空間不適合您,您可以提供自定義的密鑰空間。 在Maven中,您可以通過修改服務(wù)實(shí)現(xiàn)的pom配置來做到這一點(diǎn): com.lightbend.lagom lagom-maven-plugin ${lagom.version} false 值得指出的是,盡管上面有一個(gè)Cassandra密鑰空間,在運(yùn)行您的服務(wù)時(shí)仍然需要提供。因此,如果您想提供可以在開發(fā)和生產(chǎn)中使用的Cassandra keyspace名稱,建議通過配置文件這樣做。 例如:替代掉使用lagomCassandraKeyspace向我們之前那樣使用那樣來設(shè)置秘鑰空間,而我們可以通過在項(xiàng)目的application.conf中添加以下附加的鍵/值來獲得相同的結(jié)果(注意,如果沒有這個(gè)文件,那么你就得手動(dòng)創(chuàng)建一個(gè),放在/src/main/resources/中),內(nèi)容如下: cassandra-journal.keyspace=users cassandra-snapshot-store.keyspace=users lagom.persistence.read-side.cassandra.keyspace=users 項(xiàng)目會(huì)使用我們在配置文件application.conf中配置的,而不是使用我們在pom中學(xué)的。因此,重寫構(gòu)建中的keyspace是不贊成的,并且將在后面的Lagom版本中刪除。 有關(guān)配置keyspace的更多信息,請參見Cassandra持久實(shí)體配置(原文叫 Cassandra persistent entity configuration)。 (4)JVM選項(xiàng) Cassandra服務(wù)器在一個(gè)多帶帶的進(jìn)程上運(yùn)行,而JVM則是由合理的內(nèi)存默認(rèn)啟動(dòng)的。但是,如果默認(rèn)的JVM選項(xiàng)不適合您,您可以通過在構(gòu)建中添加以下內(nèi)容來覆蓋它們。 在maven父目錄的pom文件里寫: com.lightbend.lagom lagom-maven-plugin true users (5)yaml 配置文件 如上所示,可以通過修改Cassandra JVM選項(xiàng)來配置YAML配置文件,其中包括一個(gè)-DCassandraLauncher.configResource系統(tǒng)屬性的值來指向src/main/resource下的某個(gè)文件。 (6)日志 日志記錄是這樣配置的,它可以達(dá)到標(biāo)準(zhǔn)輸出,例如org.apache.cassandra設(shè)置為ERROR,下面是logback的設(shè)置。 com.lightbend.lagom lagom-maven-plugin ${lagom.version} -Xms256m -Xmx1024m -Dcassandra.jmx.local.port=4099 -DCassandraLauncher.configResource=dev-embedded-cassandra.yaml 單數(shù)需要注意的是,內(nèi)嵌的Cassandra服務(wù)器是不允許你修改上面的這個(gè)配置文件。如果確實(shí)你想自定義自己的日志,那么只能自己安裝Cassandra服務(wù)器,并閱讀相關(guān)的配置介紹(就是下面的第10個(gè)小點(diǎn))進(jìn)行自定義。 (7)Cassandra開始時(shí)間 如前所述,runAll會(huì)在啟動(dòng)其他服務(wù)之前啟動(dòng)一個(gè)內(nèi)嵌的Cassandra服務(wù)器,而且服務(wù)通常只在Cassandra服務(wù)器可到達(dá)之后才開始。默認(rèn)情況下,Cassandra服務(wù)器將在20秒內(nèi)啟動(dòng)并運(yùn)行,但是您可以通過在構(gòu)建中添加以下內(nèi)容來更改這個(gè)默認(rèn)值。 在maven的pon文件下: plugin> %date{ISO8601} %-5level %logger - %msg%n com.lightbend.lagom lagom-maven-plugin ${lagom.version} 設(shè)置Cassandra的最大啟動(dòng)等待時(shí)間為0可以模擬真實(shí)的部署場景,因?yàn)檫\(yùn)行的Cassandra實(shí)例可能無法在服務(wù)啟動(dòng)時(shí)可用 (8)關(guān)閉和啟動(dòng) 在執(zhí)行runAll任務(wù)時(shí),將自動(dòng)啟動(dòng)Cassandra服務(wù)器。在執(zhí)行runAll任務(wù)時(shí),將自動(dòng)啟動(dòng)Cassandra服務(wù)器。在這種情況下,你可以手動(dòng)的啟動(dòng)Cassandra 服務(wù)。如果是maven任務(wù),你可以使用lagom:startCassandra來啟動(dòng)Cassandra 任務(wù),用lagom:stopCassandra 來關(guān)閉任務(wù)。 (9)讓Cassandra Disabled 你可以通過添加如下的配置來讓內(nèi)嵌的Cassandra 失效。 maven的pom文件里: 0 如果您需要您的服務(wù)連接到一個(gè)外部運(yùn)行的、本地運(yùn)行的Cassandra實(shí)例,那么上面的這些配置可以幫助你。 (10)連接到本地運(yùn)行的Cassandra實(shí)例 可以連接到外部運(yùn)行的Cassandra實(shí)例來代替嵌入的Cassandra實(shí)例。您所需要做的就是在構(gòu)建中添加以下內(nèi)容。 maven的pom文件中: com.lightbend.lagom lagom-maven-plugin ${lagom.version} false 這兩個(gè)設(shè)置只能在運(yùn)行Lagom的DevMode時(shí)使用。這兩個(gè)設(shè)置的目的是禁用嵌入式Cassandra服務(wù)器,并在DevMode中配置服務(wù)定位器,以便在尋找cas_native時(shí)仍然能夠找到Cassandra。如果您已經(jīng)有一個(gè)運(yùn)行在本地或公司基礎(chǔ)設(shè)施中的Cassandra服務(wù)器,您可能想要禁用它。在這種情況下,Lagom啟動(dòng)Cassandra服務(wù)器是沒有意義的,而且您還會(huì)獲得幾秒鐘的啟動(dòng)時(shí)間。 這些示例中的服務(wù)定位器設(shè)置假設(shè)您的本地Cassandra實(shí)例在端口9042上運(yùn)行。 com.lightbend.lagom lagom-maven-plugin ${lagom.version} http://localhost:9042 false
6.kafka服務(wù)器
默認(rèn)情況下,Lagom服務(wù)需要使用Kafka作為消息代理與其他人之間共享信息的。在微服務(wù)體系結(jié)構(gòu)中,使用message broker對避免耦合服務(wù)過于強(qiáng)烈是至關(guān)重要的。因此,為了方便,我們在開發(fā)環(huán)境中嵌入了kafka服務(wù)器,這樣您就不必?fù)?dān)心安裝它了。有一些設(shè)置和任務(wù)可以調(diào)整kafka服務(wù)器,讓我們來探索它們: (1)默認(rèn)端口: 默認(rèn)情況下,kafka服務(wù)器默認(rèn)的端口號(hào)是9092,kafka使用zk,因此一個(gè)zk服務(wù)器也在2181端口被啟動(dòng)起來,如果當(dāng)前的默認(rèn)端口不適合您,您可以通過在構(gòu)建中添加以下內(nèi)容來更改 在maven的pom文件下:(2)kafka properties文件 kafka服務(wù)器可配置屬性文件。默認(rèn)的,我們使用server.properties文件來為kafka提供配置,只有一個(gè)更改,允許在服務(wù)器上創(chuàng)建主題的自動(dòng)創(chuàng)建。這是一個(gè)很好的默認(rèn)快速啟動(dòng),但是如果你發(fā)現(xiàn)自己需要用不同的配置來啟動(dòng)kafka,用下面的方式,你可以很容易的做到。 maven的pom文件: com.lightbend.lagom lagom-maven-plugin ${lagom.version} 10000 9999 (3)JVM優(yōu)化 kafka服務(wù)器在一個(gè)多帶帶的進(jìn)程上運(yùn)行,并且JVM開始時(shí)具有合理的內(nèi)存默認(rèn)值。但是,如果默認(rèn)的JVM選項(xiàng)不適合您,您可以通過在構(gòu)建中添加以下內(nèi)容來覆蓋它們。 com.lightbend.lagom lagom-maven-plugin ${lagom.version} ${basedir}/kafka-server.properties (4)日志 將日志配置為只用于文件。您可以在文件夾中找到kafka的日志,文件目錄的格式為: com.lightbend.lagom lagom-maven-plugin ${lagom.version} -Xms256m -Xmx1024m /target/lagom-dynamic-projects/lagom-internal-meta-project-kafka/target/log4j_output (5)Commit log kafka本質(zhì)上是一個(gè)持久的提交日志。您可以發(fā)現(xiàn)kafka在文件夾中保存的所有數(shù)據(jù)。 /target/lagom-dynamic-projects/lagom-internal-meta-project-kafka/target/logs (6)Start and stop kafka服務(wù)器在runAll命令的古時(shí)候是會(huì)自動(dòng)啟動(dòng)的。然而,有時(shí)你想手動(dòng)的啟動(dòng)幾個(gè)服務(wù),不想手動(dòng)runAlll,這種情況下,不可以通過命令來啟動(dòng)kafka服務(wù)器,maven項(xiàng)目就是用lagom:startKafka,關(guān)閉的話就用lagom:stopKafka (7)讓kafka失效 您可以通過在構(gòu)建中添加以下內(nèi)容來禁用嵌入式Kafka服務(wù)器。 禁用嵌入式Kafka服務(wù)器的一個(gè)很好的理由是,如果您需要您的服務(wù)連接到一個(gè)外部的Kafka實(shí)例。 (8)連接到外部kafka服務(wù)器 可以連接到外部的Kafka服務(wù)器來代替嵌入的服務(wù)器。您所需要做的就是在構(gòu)建中添加以下內(nèi)容。 maven的pom文件: com.lightbend.lagom lagom-maven-plugin ${lagom.version} false 您可能已經(jīng)注意到,上面配置的kafka服務(wù)器實(shí)際上在本地運(yùn)行(請注意提供地址中的本地主機(jī))。在這種情況下,它實(shí)際上已經(jīng)足夠配置正在運(yùn)行的端口,而不必提供完整的地址。 com.lightbend.lagom lagom-maven-plugin ${lagom.version} localhost:10000 false
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/70073.html
摘要:有一些設(shè)置和任務(wù)可以為您喜歡的嵌入式服務(wù)定位器調(diào)整,讓我們來探索它們默認(rèn)的端口號(hào)在中,服務(wù)發(fā)現(xiàn)的端口號(hào)默認(rèn)的是但是這個(gè)端口是非常容易被其他的應(yīng)用所占用的。 開發(fā)環(huán)境下運(yùn)行Lagom1.開發(fā)環(huán)境 Lagom的sbt或者maven項(xiàng)目是可以基于開發(fā)的環(huán)境允許使用單個(gè)命令來運(yùn)行任意數(shù)量的服務(wù)。 當(dāng)代碼更改時(shí),同樣的命令也會(huì)重新加載服務(wù),這樣你就不用手動(dòng)重啟了,您可以繼續(xù)關(guān)注您的工作,并讓La...
摘要:允許將反序列化為沒有附加注釋元數(shù)據(jù)不可變的類。包的庫經(jīng)常會(huì)想支持多個(gè)版本的這樣做需要構(gòu)建一個(gè)為每個(gè)版本的支持工件它介紹了如何區(qū)分這些工件的問題看到像不支持添加額外的元數(shù)據(jù)依賴關(guān)系的想法來指定他們需要什么版本的。 1.Defining a Lagom build(定義一個(gè)Lagom構(gòu)建) 正如在Lagom構(gòu)建哲學(xué)中已經(jīng)討論過的那樣,使用Lagom,您可以自由地將所有服務(wù)組合在一個(gè)單獨(dú)的構(gòu)...
摘要:在這種情況下,每一個(gè)微服務(wù)定義一個(gè)限界上下文,類似于領(lǐng)域驅(qū)動(dòng)的限界上下文。設(shè)計(jì)你的微服務(wù)系統(tǒng)的響應(yīng)式微服務(wù)架構(gòu)這本書對于微服務(wù)系統(tǒng)架構(gòu)很有幫助。 1.Lagom概念介紹 lagom框架包含一系列的可以支持我們從開發(fā)到部署的庫以及開發(fā)環(huán)境: >在開發(fā)階段,可以通過一個(gè)簡單的命令構(gòu)建我們的項(xiàng)目,啟動(dòng)所有你的服務(wù),并且可以支持所有的lagom基礎(chǔ)設(shè)置層。當(dāng)你修改了代碼,logom是有熱加載的...
摘要:特意對前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...
摘要:比原項(xiàng)目倉庫地址地址礦機(jī)配置固件升級(jí)兩個(gè)都要刷先后順序沒關(guān)系升級(jí)時(shí)間較長,升級(jí)期間請勿斷電配置節(jié)點(diǎn)測試時(shí)可以考慮切換到分支降低難度使挖礦也能出塊,或初始化啟動(dòng)時(shí)可以加上指定數(shù)據(jù)目錄,若目錄不存在則會(huì)自動(dòng)新建該目錄流程初始化節(jié)點(diǎn)先建 比原項(xiàng)目倉庫: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/Byto...
閱讀 2373·2021-11-22 12:01
閱讀 2094·2021-11-12 10:34
閱讀 4609·2021-09-22 15:47
閱讀 2916·2019-08-30 15:56
閱讀 2921·2019-08-30 15:53
閱讀 2468·2019-08-30 13:53
閱讀 3471·2019-08-29 15:35
閱讀 3181·2019-08-29 12:27