# penguin-cloud-support **Repository Path**: BeiZhanYuChun/penguin-cloud-support ## Basic Information - **Project Name**: penguin-cloud-support - **Description**: cloud的微服务支持 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-02 - **Last Updated**: 2021-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # penguin-cloud-applet ## 介绍 微服务基础服务支持 ## 软件架构 ![软件架构参考说明](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTgwMTA0MTQyNzI5MjE5) - Euraka注册中心集群 - Zuul网关集群 - 各模块微服务集群 - Nginx实现负载均衡 - Spring Cloud Config 统一配置中心 - Monitor微服务监控 ## 注意事项 > 启动项目的时候,必须需要网关服务最后启动,这样才可以管理之前的服务,其次注册服务需要首先启动,其次是认证服务,在其次是三方应用服务; ## 请求实例 ```http request #直接请求网关 http://localhost:8769/backendapi/cloud-support-oauth2-center-runner/oauth/token?client_id=admin-backend-ui&client_secret=demoClientSecret&grant_type=password&username=admin&password=admin #请求nginx转发到网关 http://penguin.finef.top/backendapi/cloud-support-oauth2-center-runner/oauth/token?client_id=admin-backend-ui&client_secret=demoClientSecret&grant_type=password&username=admin&password=admin #请求nginx转发到网关 http://penguin.finef.top/backendapi/cloud-support-admin/test #请求网关 http://localhost:8769/backendapi/cloud-support-admin/test #直接请求接口 http://localhost:8888/test ``` ## 关于网关的StripPrefix作用说明 ```markdown 先说一下,我之前用的zuul,配置如下,通过url调用接口,如果路径以/payment/auth/**开头,则找到serviceId: payment-auth,再通过负载均衡调用auth服务,且controller中地址必须以/payment/auth/开头,才能找到接口。 现在用到Getway,如2, 首先配置转发路径:Path= /anji-open/user/**,但是controller中并没有以/anji-open/user/**开头,这样能找到具体接口吗,是可以的,原理是通过这个配置实现: filters:    - StripPrefix=2, 转发到具体服务,自动去掉/anji-open/user,如下 原始访问路径: http://uat-open-external-146479425.cn-north-1.elb.amazonaws.com.cn/anji-open/user/jobuser/pageList?sort=id&order=DESC&pageNumber=1&pageSize=10 处理后路径: http://uat-open-external-146479425.cn-north-1.elb.amazonaws.com.cn/jobuser/pageList?sort=id&order=DESC&pageNumber=1&pageSize=10 所以可以找到以controller中/jobuser开头的接口。 1,zuul配置及controller映射路径 paymentauth: path: /payment/auth/** stripPrefix: false serviceId: payment-auth ``` **另外一个zuul的说明** ```markdown prefix :前缀,当请求匹配前缀时会进行代理 strip-prefix :代理前缀默认会从请求路径中移除,通过该设置关闭移除功能, 当 stripPrefix=true 的时 (会移除) (http://127.0.0.1:8181/api/user/list -> http://192.168.1.100:8080/user/list), 当stripPrefix=false的时(不会移除) (http://127.0.0.1:8181/api/user/list -> http://192.168.1.100:8080/api/user/list ``` ![1](https://img-blog.csdnimg.cn/20191108174850807.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA5NTM4ODA=,size_16,color_FFFFFF,t_70) ## 使用说明 - ## 配置说明 **logback-spring.xml** > 此配置为ELk的数据上报配置 ```xml ${LOGSTASH_HOST} {"app_name":"${LOGSTASH_NAME}"} ```