Sean 的个人博客   >   标签墙   >   SpringCloud 标签

04Ribbon

2019-03-12

负载均衡Ribbon

网络请求框架RestTemplate

RestTemplate是Spring Resources中一个访问第三方RESTful API接口的网络请求框架。
RestTeamplate是用来消费REST服务的,所以RestTeamplate也有HEAD、GET、POST、PUT、DELETE、OPTIONS等方法。注意:head对应的方法为headForHeaders(),其它都为xxxForObject()

示例:

@RestControllrt
public class RestController{
	@GetMapping("/testRest")
    public String testRest(){
    	RestTemplate restTemplate = new RestTemplate();
        return restTemplate.getForObject("htpps://www.baidu.com/",String.class);
    }
}

03Eureka

2019-03-12

服务注册和发现Eureka

Eureka简介

什么是Eureka

Eureka 是一个用于服务注册和发现的组件, 最开始主要应用于亚马逊公司旗下的云计算服务平台 AWS。Eureka 分为 Eureka Server 和 Eureka Client, Eureka Server 为 Eureka 服务注册中心, Eureka Client 为 Eureka 客户端 。

Eureka的优势

首先Eureka完全开源,在功能和性能上都非常稳定。其次,Eureka是SpringCloud首先推荐的服务注册与发现组件,与SpringCloud其它组件可以无缝对接。最后,Eureka和其它组件,比如负载均衡组件Ribbon、熔断器组件Hystrix、熔断器监控组件 Hystrix Dashboard 组件、熔断器聚合监控 Turbine 组件,以及网关 Zuul 组件相互配合,能够很容易实现服务注册、负载均衡、熔断和智能路由等功能。

Eureka的基本架构

Eureka主要有以下三种角色:

02SpringCloud简介

2019-03-12

#SpringCloud简介

微服务应该具备的功能

1.服务的注册与发现

服务注册是指向服务注册中心注册一个服务实例,服务提供者将自己的服务信息(如服务名、IP地址等〉告知服务注册中心。服务发现是指当服务消费者需要消费另外一个服务时,服务注册中心能够告知服务消费者它所要消费服务的实例信息(如服务名、 IP 地址等〉。通常情况下,一个服务既是服务提供者,也是服务消费者。服务消费者一般使用 HTTP 协议或者消息组件这种轻量级的通信机制来进行服务消费。
服务注册中心会提供服务的健康检查方案 ,检查被注册的服务是否可用。通常一个服务实例注册后,会定时向服务注册中心提供“心跳”,以表明自己还处于可用的状态 。

01微服务简介

2019-03-12

#01微服务简介

单体架构存在的不足

  • 业务越来越复杂,单体应用的代码量越来越大,代码的可读性、可维护性和可扩展性下降,新人接收代码所需的时间成倍增加,业务扩展带来的代价越来越大
  • 随着用户越来越多,程序承受的并发越来越高,单体应用的并发能力有限。
  • 测试的难度越来越大,单体应用的业务都在同一个程序中,随着业务的扩张、复杂度的增加,单体应用修改业务或者增加业务或许会给其他业务带来一定的影响,导致测试难度增加

##什么是微服务

2014年,Martin Fowler 与 James Lewis 共同提出了微服务的概念,定义了微服务是由以单一应用程序构成的小服务,自己拥有自己的行程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通讯。同时服务会使用最小的规模的集中管理 (例如 Docker) 能力,服务可以用不同的编程语言与数据库等元件实作。