首页 > 编程语言 > 详细

SpringCloud学习笔记

时间:2020-03-14 17:08:13      阅读:58      评论:0      收藏:0      [点我收藏+]

1. 微服务架构

  • 单体引用缺点:复杂性高、不坏不修、部署困难、扩展受限、阻碍创新
  • 微服务:每个服务运行在自己的进程中,一个服务只关注一个特定的功能,采用轻量级通信机制,自动部署机制独立部署,可用不用的开发语言和不同的存储技术

SpringCloud介绍

基于SpringBoot实现微服务架构的开发工具
特点:

  • 隐藏了组件的复杂性
  • 开箱即用,快速启动
  • 轻量级
  • 各个组件是解耦的,可以按需选型

使用SpringBoot实现微服务

SpringBoot使用

    // 1. http://localhost:8080/TestSSM/User/testQueryString?id=123
    @RequestMapping("/testQueryString")
    public String testQueryString(String id) {
        return id;
    }

    // 2. http://localhost:8080/TestSSM/User/testPathVariable/123
    @RequestMapping("/testPathVariable/{id}")
    public String testPathVariable(@PathVariable("id") String id) {
        return id;
    }

    // 3.参数是对象类型
    @RequestMapping(method = RequestMethod.POST, value = "/addUser")
    public User addUser(@RequestBody User user) {
        return user;
    }

    // 4.前后端参数名不一致
    // http://localhost:8080/TestSSM/User/testDiffParamName?user_name=ych
    @RequestMapping("/testDiffParamName")
    public String testDiffParamName(@RequestParam("user_name") String username) {
        return username;
    }

    @Autowired
    private RestTemplate restTemplate;

    // 5.测试RestTemplate
    @RequestMapping(value = "/testRestTemplate")
    public String testRestTemplate() {
        String str = restTemplate.getForObject("http://122.51.176.73/", String.class);
        return str;
    }

    // 6. 直接取配置文件
    @Value("${com.run.url}")
    public String url;

    @RequestMapping("/getUrl")
    public String getUrl() {
        return url;
    }

    // 7.通过@ConfigurationProperties映射配置文件
    // 略

SpringCloud快速入门

Eureka

负载均衡Ribbon(/?r?b?n/)

容错保护Hystrix

SpringCloud学习笔记

原文:https://www.cnblogs.com/yinchh/p/12417113.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!