jhipster_JHipster入门,第2部分
jhipster
所以你回來了! 在本系列的最后一部分中 ,我們采用了單片路線創建了一個JHipster應用程序。 這是紅色藥丸路線; 生活幾乎與您習慣的一樣。
但是也許您喜歡挑戰。 也許您想超越紅色藥丸并嘗試藍色藥丸。 在這種情況下,Blue Pill是微服務JHipster方法。
在此博客中,我們將使用JHipster的可用選項來創建微服務架構。 這種方法還有很多工作要做,但是最后,我認為它是有回報的。 獲得您最喜歡的飲料并預留一些時間。 這將非常密集。
微服務概述
這些東西到底是什么?
“微服務”架構將前端和后端分開,從而使您的應用程序更易于擴展和解決基礎架構問題。
這里的想法是使事物盡可能地分離。 您可以創建后端并運行它們,而無需與前端上的任何內容綁定,反之亦然。 每個實例都可以有多個實例,并且可以上下旋轉而不會影響最終用戶。 可能消除應用程序的停機時間。
它使它能夠隨著時間的推移而增長和擴展,而只需很少的架構工作。 后端變得越來越消耗東西,而前端則是向世界展示的輸出。 前端幾乎可以是任何您想要的東西。 傳統網站,移動應用程序或其他您能想到的。
微服務路徑
藍丸
因此,您已決定大吃一口并吞下藍色藥丸。 您想挑戰自己嗎? 讓我們開始吧。
網關
網關是由JHipster生成的應用程序(生成時使用應用程序類型微服務網關),用于處理Web流量并為AngularJS應用程序提供服務。 如果要遵循“后端為前端”模式,可以有幾種不同的網關,但這不是強制性的。
這幾乎將成為所有活動的中心。 它會有一個前端,因此您可以查看呼叫,內存等。您可以添加/刪除用戶,以及所有有趣的內容。 這些東西都打包好了,您可以自己查看。 我們在這里不會涉及太多。
登記處
JHipster注冊表是使用常規JHipster結構的運行時應用程序,所有應用程序都在該結構上進行注冊并從中獲取其配置。 我們將不僅僅涉及將其拉下并使用它。 在大多數情況下,它只是“配置”的故鄉。 只需克隆存儲庫并繼續。 下面的更多信息。
https://jhipster.github.io/microservices-architecture/#registry_overview
克隆: https : //github.com/jhipster/jhipster-registry
微服務
微服務是JHipster生成的應用程序(生成它們時使用應用程序類型的微服務應用程序),用于處理REST請求。 它們是無狀態的,可以并行啟動它們的多個實例以處理重負載。
我們開工吧
網關
在本練習中,我們將非常關注JHipster的微服務指南 。
1.從yo jhipster開始
2.選擇“微服務網關”
3.回答所有問題 4 。 咖啡時間!!!
該應用程序幾乎是一個帶有配置以處理所有Web流流量的整體式應用程序
登記處
如果尚未復制, 請克隆https://github.com/jhipster/jhipster-registry 。 添加到您的項目空間。 繼續并點火。
查找具有@SpringBootApplication批注的Java文件,并將其作為Java應用程序運行。 這適用于下面的每個步驟。
微服務應用
第一件事是創建一個新目錄。 隨便叫它,然后進入該目錄。 現在輸入yo jhipster 。 在這里看到那個圖案嗎?
不過,這次,我們將選擇“微服務應用程序”。 回答問題。
這次,只要搖動一下狗的尾巴,就可以使用微服務!
微服務實戰
登記處
如果尚未啟動注冊表,請繼續啟動它。 它應該在http:// localhost:8761上運行 。 訪問它,并查看它為您提供的基本信息。 然后單擊“應用程序”鏈接。 請注意,它為空。
網關
現在是時候旋轉網關了。 您將在控制臺中看到此輸出。
----------------------------------------------------------Application 'ExtendedDayGateway' is running! Access URLs:Local: http://127.0.0.1:8080External: http://192.168.1.4:8080 ---------------------------------------------------------- 2016-09-13 14:19:29.643 INFO 10856 --- [ restartedMain] c.wwc.extendedday.ExtendedDayGatewayApp : ----------------------------------------------------------Config Server: Connected to the JHipster Registry config server! ----------------------------------------------------------注意,它是如何顯示URL的,它還顯示了它是從JHipster Registry獲得的配置。 我們還來看一下該應用程序。 http://本地主機:8080
另外,再次在注冊表應用程序中查看“應用程序”頁面。 http:// localhost:8761 /#/ applications 。
請注意,我們的網關現在顯示。 它是自注冊的。
微服務應用
現在,我們有三分之二的項目正在運行。 我認為,現在該是肯定會成為這種情況的動力的時候了。 我們將添加微服務應用程序,它將為任何請求提供“后端”。
1.創建一個Java類作為我們的“ api”端點。 在我們的例子中,我們只有一個返回靜態數據集的對象。 十分簡單。
@RestController @RequestMapping("/api") public class DemoResource {...2.添加一種返回“學生”的方法。
/*** GET /students : get all the students.** @return the ResponseEntity with status 200 (OK) and the list of students in body*/@JsonView(Student.Info.class)@RequestMapping(value = "/demostudents",method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)@Timedpublic List<Student> getAllStudents() {log.debug("REST request to get all Students");List<Student> userStudents = new ArrayList<Student>();Student student = new Student();student.setFirstName("Joe");student.setLastName("Smith");student.setSex(0);student.setGrade(3);userStudents.add(student);return userStudents;}3.保存并啟動微服務。 它看起來應該像這樣:
----------------------------------------------------------Application 'extendedDayAPI' is running! Access URLs:Local: http://127.0.0.1:8081External: http://192.168.1.4:8081 ---------------------------------------------------------- 2016-09-14 11:36:13.927 INFO 13980 --- [ restartedMain] com.wwc.extendedday.ExtendedDayApiApp : ----------------------------------------------------------Config Server: Connected to the JHipster Registry config server! ----------------------------------------------------------4.再次重新訪問http:// localhost:8761 /#/ applications或刷新視圖。 請注意我們的微服務如何注冊自己。
5.轉到瀏覽器,然后輸入http://localhost:8080/yourappapiname/api/demostudents 。 請注意,即使您已登錄,也將被禁止。
6.注銷localhost:8080 ,然后在打開Chrome的情況下重新登錄。
然后檢查登錄呼叫并在“授權”中獲取令牌。 它應該以“ Bearer…”開頭,然后是一堆編碼的東西。 全部選擇。
您必須在請求中傳遞此令牌。 有許多不同的方法可以通過您的代碼來執行此操作。 在我們的測試場景中,
- 郵差足以向您顯示輸出。
- 開放郵遞員
- 從上方輸入您的API調用
- 在“標題”下,添加“授權”密鑰,然后粘貼您獲取的令牌。
您應該會看到以下內容:
嗚嗚! 你完成了! 您已經使用jHipster創建了微服務。
結論
我們已經逐步使用JHipster的可用選項創建微服務來創建微服務體系結構。 我希望您發現此信息對您有所幫助。
在這一點上,我們可以添加所需的盡可能多的不同微服務。 每個都有自己的端口號和功能。 在分布式環境中,當我們對它們進行更改時,會有很多實例可以旋轉/關閉。 希望您能看到將我們架構的不同層分離的好處和靈活性。 每一層都不依賴于另一層來運行。
微服務,網關,注冊表以及使用不同前端的主題的確開始超出使用JHipster的基本方法。 有關這些主題的更多信息,請查看免費的Keyhole博客和白皮書 。
使用JHipster時,請返回第3部分,其中包括技巧,竅門和陷阱。 祝您有美好的一天并繼續保持“嘻哈”。
翻譯自: https://www.javacodegeeks.com/2016/10/getting-started-jhipster-part-2.html
jhipster
總結
以上是生活随笔為你收集整理的jhipster_JHipster入门,第2部分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 教你锁BIOS密码电脑如何锁密码
- 下一篇: 三菱化学计划在日本新建半导体材料工厂