这篇文章主要介绍“springCloud的使用方法”,在日常操作中,相信很多人在springCloud的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”springCloud的使用方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
站在用户的角度思考问题,与客户深入沟通,找到秦皇岛网站设计与秦皇岛网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、做网站、企业官网、英文网站、手机端网站、网站推广、主机域名、虚拟主机、企业邮箱。业务覆盖秦皇岛地区。
springCloud:微服务的实现方式。
SpringCloud从技术架构上降低了对大型系统构建的要求,使我们以非常低的成本(技术或者硬件)搭建一套高效、分布式、容错的平台,但SpringCloud也不是没有缺点,小型独立的项目不适合使用。
SpringCloud是一系列框架的有序集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册,配置中心,消息总线,负载均衡,熔断器,数据监控等,都可以用SpringBoot都开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟,经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽了复杂的配置和实现原理,最终给开发者留出了一套简单易懂,易部署和易维护的分布式系统开发工具包。
微服务是考验独立部署,水平扩展,独立访问的服务单员。
组件:
Eureka:注册中心
Zuul:服务网关
Ribbon:负载均衡
Feign:服务调用
Hystrix:熔断器
入门代码
前提:父工程为springboot,并且进行了jar包的版本管理
Eureka:注册中心,实现服务的注册和发现功能
1、导入坐标
org.springframework.cloud spring-cloud-starter-netflix-eureka-server org.glassfish.jaxb jaxb-runtime 2.3.2
2、创建启动类
@SpringBootApplication @EnableEurekaServer public class EurekaServer { public static void main(String[] args) { SpringApplication.run(EurekaServer.class); } }
3、添加配置文件
server: port: 8084 spring: application: name: eureka-server eureka: client: service-url: defaultZone: http://127.0.0.1:8084/eureka
Ribbon:负载均衡
Hystrix:熔断器
Feign:服务调用
Zuul:服务网关
示例代码:
1、导入坐标
org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-netflix-eureka-client org.springframework.cloud spring-cloud-starter-netflix-ribbon org.springframework.cloud spring-cloud-starter-netflix-hystrix org.springframework.cloud spring-cloud-starter-openfeign
2、编写启动类
@EnableCircuitBreaker @SpringBootApplication @EnableDiscoveryClient @EnableFeignClients /* @SpringCloudApplication */ public class ConsumerApplication { @Bean @LoadBalanced public RestTemplate restTemplate (){ return new RestTemplate(); } public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class); } }
3、实现代码
@RestController @RequestMapping("consumer") public class ConsumerController { @Autowired private RestTemplate restTemplate; @Autowired private LoadBalancerClient client; @GetMapping("{id}") @HystrixCommand(fallbackMethod = "queryByIdFallback") public Account queryById(@PathVariable ("id") Integer id){ //Listinstances = discoveryClient.getInstances("user_service"); //ServiceInstance instanceInfo = instances.get(0); ServiceInstance instance = client.choose("user_service"); String url = "http://"+instance.getHost()+":"+instance.getPort()+"/account/"+id; System.out.println(url); Account account = restTemplate.getForObject(url,Account.class); return account; } public Account queryByIdFallback(Integer id ){ return null; } }
到此,关于“springCloud的使用方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
当前名称:springCloud的使用方法
本文网址:http://lswzjz.com/article/jsgeod.html