SpringCloud学习笔记

微服务架构

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

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/)、Feign

断路器(熔断降级)Hystrix

路由网关 Zuul

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值