初识springcloud

Spring cloud

 

分布式架构,降低开发难度,一站式解决方案

目标:理解微服务,并通过SpringCloud体系搭建微服务架构

微服务体积小,能独立部署和运行,轻量级的通信机制和架构,微服务之间是松耦合的。

原则:单一职责--->每个服务只处理自己的业务逻辑

服务自治--->开发、运维、测试都独立

轻量通信

接口明确--->服务间调用,接口要更通用、更灵活

第一部分:spring eureka

服务注册中心:eureka提供服务注册与发现的功能

服务提供者:提供服务应用,它将自己提供的服务注册到eureka以供其他应用发现

服务消费者:从服务中心获取服务名列表从而使消费者可以知道何处调用所需服务

 

  1. 搭建高可用的服务注册中心
  2. 增加节点配置:application-peer0.properties

                                  application-peer1.properties

  1. 通过控制台启动注册中心:

                  java -jar eureka-server-xxx-jar  -spring profiles.action=peer0

                   java -jar eureka-server-xxx-jar  -spring profiles.action=peer1

  1. 启动客户端注册服务:java -jar customer-server-xxx-jar --server.port=10000

                                             java -jar customer-server-xxx-jar --server.port=10020

application-peer0.properties

# 服务端口

server.port=1111

spring.application.name=eureka-server

# 注册中心ip地址

eureka.instance.hostname=peer0

# 注册地址

eureka.client.serviceUrl.defaultZone=http://peer1:1112/eureka/

# 设置为false,代表不向注册中心注册自己

eureka.client.register-with-eureka=false

# 设置为false,代表不需要去检索服务信息

eureka.client.fetch-registry=false

# 关闭eureka的自我抱回
eureka.server.enable-self-preservation=false

第二部分:spring ribbon

loadBalance:将任务通过一定机制分摊到多个操作单元上进行执行,从而共同完成工作任务

作用:系统高可用性  网络压力的延缓  处理能力扩容

关于Ribbon:

基于http和tcp的客户端负载均衡工具

存在于微服务和基础设施中

实现微服务之间的调用,请求转发

使用Ribbon:

  1. 服务提供者只需要启动多个服务实例并注册到一个注册中心或者多个相关联的服务中心
  2. 消费者直接通过调用被@loadBalance注解修饰过的restTemplate来实现面向服务的接口调用

第三部分:spring zuul

边缘服务:即对外服务

存在问题:维护路由规则与服务实例列表相对麻烦

          边缘服务的安全性代码有大量冗余

解决方案:api网关,整个微服务架构的系统门面,所有的外部客户端都要经过它来调度和过滤

添加依赖:

<groupId>org.springframework.cloud  <groupId/>

<artifactId>spring-cloud-starter-neffix-zuul<artifactId/>

<groupId>org.springframework.cloud  <groupId/>

<artifactId>spring-cloud-starter-neffix-erueka-client<artifactId/>

添加注解:@EnableZuulProxy

资源文件配置

zuul.routes.customer-url.path=/customer/**

zuul.routes.customer-url.serviceId=Feign-Customer

Eureka.client.serviceUrl.defautZone=http://peer0:1111/eureka/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rose and war

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值