Apollo-open-capacity-platform 微服務能力開發平台 (轉)


來自大佬的apollo整合微服務的教程:歡迎大家點評和star,鏈接如下:https://gitee.com/owenwangwen/open-capacity-platform 

官方demo鏈接:https://github.com/ctripcorp/apollo

 

開發中的坑:

我的坑

 

Java客戶端使用指南:鏈接

 

 

open-capacity-platform 微服務能力開發平台

項目簡介

1.用戶登錄

2.用戶管理

3.角色管理

4.菜單管理

5.角色菜單管理

6.注冊中心

7.配置中心

8.應用列表以及資料列表頁面正在開發中,敬請期待

項目組織結構分析
├ apollo -- 阿波羅配置中心
├ ├── apollo-adminservice
├ ├── apollo-assembly
├ ├── apollo-biz
├ ├── apollo-buildtools
├ ├── apollo-client
├ ├── apollo-common
├ ├── apollo-configservice
├ ├── apollo-core
├ ├── apollo-demo
├ ├── apollo-portal
├ └── apollo-zuul 整合zuul案例
├ cachecloud-open-parent -- 搜狐redis雲平台
├ ├── cachecloud-open-client
├ ├── cachecloud-open-common
├ └── cachecloud-open-web
├ open-api-gateway -- 服務網關[9000]
├ open-config-cloud --基於spring cloud config 的配置中心
├ ├── config-bus --基於spring cloud bus的服務總線[8201]
├ ├── config-client ----基於spring cloud client端[7001]
├ ├── config-server ----基於spring cloud server端[7201]
├ └── config-zuul ----基於config-client項目整合網關[5555]
├ open-db-core -- 數據庫邏輯封裝
├ open-layui-web -- 基於token的layui后台管理系統
├ open-zipkin-cloud -- 鏈路跟蹤
├ ├── open-zipkin-kafka-server -- kafka鏈路跟蹤服務端[9411]
├ ├── open-zipkin-kafka-client -- kafka鏈路跟蹤客戶端[9412]
├ ├── open-zipkin-memery-server -- 內存跟蹤服務端[9411]
└ └─ open-zipkin-memery-client -- 內存鏈路跟蹤客戶端[9412]

一. 阿波羅配置中心詳解

  1. 前言
    攜程 Apollo 配置中心 學習筆記, Windows 系統搭建基於攜程Apollo配置中心分布式模式, 在此基礎上,介紹如何使用阿波羅整合zuul實現動態路由。

2.環境搭建

  • 效果預覽

  • apollo-configservice
    修改如下配置將apollo-configservice 注冊到已有的eureka服務器,同時提供提供配置的讀取、推送等功能. 修改apollo-configservice的數據源 

  • apollo-adminservice
    修改apollo-adminservice的數據源 

  • apollo-portal
    修改apollo-portal代碼及數據源

  • apollo-core
    修改開發環境環境讀取配置文件的地址,填入apollo-configservice注冊到eureka服務器的地址,如果apollo-configservice啟動多台,可以引入nginx負載均衡

3.阿波羅整合zuul服務注冊中心

  • 效果預覽

    訪問http://127.0.0.1:9999/test163即可讀取阿波羅頁面配置參數,頁面修改后可刷新所有阿波羅客戶端

  • apollo-zuul
    apollo-zuul項目用的是Eureka作為服務注冊與發現,因此這里我加入了Eureka Client的依賴,同時需要加入zuul網關的依賴實現微服務的路由 pom.xml文件加入以下依賴

      <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>0.10.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <scope>true</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zuul</artifactId> </dependency> </dependencies> 

3.1.1 下載項目

在官方github項目中,把項目下載下來 https://github.com/ctripcorp/apollo,導入到Eclipse工程中。如下圖 
由於官方給出的分布式搭建需要加入很多啟動參數,過於繁瑣,可以考慮https://gitee.com/234gdfgsdf/open-capacity-platform/tree/master/apollo-master下載
項目組織結構(功能)[端口]
├── apollo -- 阿波羅配置中心
├ ├── apollo-configservice (提供配置的修改、發布等功能,服務對象是Apollo Portal) [8080]
├ ├── apollo-adminservice (提供配置的讀取、推送等功能,服務對象是Apollo客戶端)[8090]
├ ├── apollo-portal (管理界面) [8070]
├ └── apollo-zuul (阿波羅整合zuul網關)
└── open-eureka-server (服務注冊中心)[1111]

3.2 application.properties 配置寫入到Apollo配置中心 3.2.1 application.properties 如下原本是寫在spring boot 工程中的配置信息,接下來寫入到配置中心中。
spring.application.name=sop-api-gateway
server.port=9999
zuul.ignored-services="*"

3.2.2 創建apollo項目

這里我已經創建好了,就不做過多演示了。

將信息上傳寫入到配置文件中,然后在把工程中的application.properties文件刪除。 3.2.3 新建app.properties文件 

3.2.4 配置刷新zuul配置

配置頁面發布即時更新zuul配置

application.java啟動類
@RestController
@EnableZuulProxy
@EnableApolloConfig
@EnableDiscoveryClient
@SpringBootApplication
public class ApiGateWayApp {

   public static void main(String[] args) { SpringApplication.run(ApiGateWayApp.class, args); } 

}

注意加注解。
然后直接啟動即可。。。。。。。

二. 搜狐cachecloud雲平台管理

  • 修改配置

  • 項目編譯

  • 項目運行

  • 主機規划
    19 ls
    20 mkdir -p /opt/cachecloud
    21 ls
    22 cd /opt/cachecloud
    23 ls
    24 vi init.sh
    25 ls
    26 chmod 777 init.sh
    27 ./init.sh
    28 cd /opt/cachecloud/
    29 ls
    30 ./init.sh root
    31 ./init.sh cachecloud
    32 ll
    33 chown cachecloud.cachecloud -R /opt/cachecloud
    34 ls
    35 ll
    36 ls
    37 cd data
    38 ls
    39 cd ..
    40 ls 41 cd conf
    42 ls
    43 cd ..
    44 ls
    45 cd redis/
    46 ls
    47 ifconfig
    48 history

  • 效果預覽

詳細搭建可以參考http://www.ywnds.com/?p=10610

三. open-capacity-platform能力開放平台管理
1.注冊中心

2.配置中心

3.認證服務器-->認證中心

3.1本認證中心采取的的數據庫管理應用信息的方式來管理client_id client_secret,同時token的生成方式支持redis集群或者jwt 

3.2由於spring security oauth 默認定義的/oauth/token 會驗證client_id以及client_secret,如果不在數據庫中會彈框,所以根據源碼,自定義/oauth2/token節點以password方式的獲取token,並給出友好提示 效果如下 

一.錯誤的打開方式

1無效的client_id 

2.無效的client_secret 

3.用戶名密碼錯誤 

二.正確的打開方式

4.部署
1.cd /root/sop/eureka-server/bin/ && ./start.sh 啟動注冊中心服務
2.cd /root/sop/config-center/configservice/bin/ && ./start.sh 啟動配置中心configservice服務
3.cd /root/sop/config-center/adminservice/bin/ && ./start.sh 啟動配置中心adminservice 服務
4.cd /root/sop/config-center/portalservice/bin/ && ./start.sh 啟動配置中心portalservice服務
5.cd /root/sop/apollo-zuul/bin/ && ./start.sh 啟動演示apollo-zuul項目

啟動后效果預覽

待續。。。。。。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM