图灵学院 java架构师学习路线
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
1、【microcloud-c umer-feign】Feign之中最为核心的作用就是将Rest服务的信息转换为接口调用,但是在实际的使用过程也需要考虑到一些配置情况,例如数据压缩,Rest的核心本质在于:JSON数据传输(xml、文本),于是就必须思考一种情况,用户发送的数据很大呢?所以这个时候可以考虑修改application.yml配置文件,对传输数据进行压缩。server: port: 80eureka: client: #客户端进行Eureka注册的配置 service-url: defaultZone: http://eureka:eureka@eureka-7001.com:7001/eureka,http://eureka:eureka@eureka-7002.com:7002/eureka,http://eureka:eureka@eureka-7003.com:7003/eureka register-with-eureka: falsefeign: compression: request: mime-types: - text/xml - application/xml - application/json min-request-size: 2048 #超过2048的字节进行压缩
2、【microcloud-c umer-feign】如果有需要则可以在项目之中开启feign的相关日志信息(默认不开启),修改application.yml配置文件,追加日志追踪:server: port: 80eureka: client: #客户端进行Eureka注册的配置 service-url: defaultZone: http://eureka:eureka@eureka-7001.com:7001/eureka,http://eureka:eureka@eureka-7002.com:7002/eureka,http://eureka:eureka@eureka-7003.com:7003/eureka register-with-eureka: falsefeign: compression: request: mime-types: - text/xml - application/xml - application/json min-request-size: 2048 #超过2048的字节进行压缩logging: level: com.gwolf.service: DEBUG
3、【microcloud-c umer-service】修改FeignClientConfig,开启日志的输出。@Configurationpublic class FeignClientConfig { @Bean public Logger.Level getFeignLoggerLevel() { return Logger.Level.FULL; } @Bean public BasicAuthRequestInterceptor getBasicAuthRequestInterceptor() { return new BasicAuthRequestInterceptor("gwolf","gwolf"); }}
4、访问地址:http://client.com/c umer/dept/list查看日志输出。
5、可以观察到如下流程:1、当使用Feign要通过接口的方法访问Rest服务的时候会根据设置的服务类型发出请求,这个请求是发送给Eureka的,“http://MICROCLOUD-PROVIDER-DEPT/dept/list”
6、随后由于配置了授权处理,所以继续发送授权信息“Authorization”在随后服务调用的时候Feign融合了Ribbon技术,所以也支持负载均衡的处理。
7、总结:Feign=RestTemplate + HttpHeader + Ribbon + Eureka 综合体=业务接口的自动实例化。
尽管Java架构师学习路线已经分享给大家,但有多少人能认真的去践行,这个就难说了。互联网寒冬已经到来,作为程序员,更应在此时提高自己,有着更高远的追求。
篇幅有限,如果需要更详细的java架构师学习路线资料可加博主qq:1993712276,或者去图灵官网查看