1、使用使用Spring Cloud构建微服务构建微服务Spring Cloud简介Spring Cloud是一个相对比较新的微服务框架,2016年才推出1.0的release版本. 虽然Spring Cloud时间最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案。Spring Cloud Netflix,该项目是Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为Spring Boot应用提供了自配置的Netflix OSS整合。通过一些简单的注解,开发者就可以快速的在应用中配置一下常用模块并构建庞大的分布
2、式系统。它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路由(Zuul),客户端负载均衡(Ribbon)等。当然Spring Cloud还有额外扩展的其它很多组件,包括了服务链路监控和跟踪,消息总线,数据流处理,批量任务处理等。而对于整个Spring Cloud微服务框架简单来说,即是:你只要划分到你的微服务组件和模块,并定义好需要暴露的API接口,那么剩下的整个开发和传统方式没有太大的区别,你开发完成的组件集成起来就是一个分布式可扩展的微服务环境。里面设计到的接口发布,服务注册,服务调用和路由,服务监控,健康检测和流控等都会由微服务框架来帮你完成。正是有了成熟的
3、微服务框架,我们才更应该将微服务架构设计重心从技术底层转移到组件划分和接口设计上。参考:https:/springcloud.cc/Eureka服务注册发现中心Config配置中心Hystrix简介http:/ Metrics的实现Hystrix熔断注解配置Hystrix熔断自定义类实现spring boot 使用属性加载使用属性加载顺序顺序1.命令行中传入的参数2.SPRING_APPLICATION_JSON中的属性。SPRING_APPLICATION_JSON是以JSON格式配置再系统环境变量中的内容3.java:comp/env中的JNDI属性4.JAVA的属性,可以通过System
4、.getProperties() 获得的内容5.操作系统的环境变量6.通过random.*配置的随机属性7.位于当前应用jar包之外,针对不同profile环境的配置文件内容,例如application-profile.properties或YAML定义的配置文件8.位于当前应用jar包之内,针对不同profile环境的配置文件内容,例如application-profile.properties或YAML定义的配置文件。9.位于当前应用jar包之外的application.properties或YAML配置内容10.位于当前应用jar包之内的application.properties或YA
5、ML配置内容11.在Configuration注解修改的类中,通过PropertySource注解定义的属性12.应用默认属性,使用SpringApplication.setDefaultProperties定义的内容What is the difference between putting a property on application.yml or bootstrap.yml in spring boot?bootstrap.xml怎么连不同环境的eureka/config等推荐博文分布式配置分布式配置中心中心 http:/ Boot属性配置文件属性配置文件详解详解 http:/ Client注册到注册到Eureka Server的的秘密秘密 http:/ 源代码下载 https:/