搭建一个SpringBoot框架开发环境

1:单体应用monolith:
表现:和前面三个项目一样:所有的功能最终都在一个war包里;
缺点:
    ①编译难,部署难,测试难;
    ② 扩展难;
    ③技术选择难

2:微服务:microservice:
微服务:就是把一个大的服务拆成很多小的服务。
优点:
    ①编译容易,部署容易,测试容易;
    ② 扩展容易;
    ③技术选择容易
    ④容错性高

3:服务治理框架:
    ①springcloud和dubbo
    ②Spring cloud是一个基于Spring Boot实现的服务治理工具包

4:五大神兽
    ①服务发现——Netflix Eureka(注册中心,皮条客)
    ②客服端负载均衡——Netflix Ribbon/Feign
    ③服务网关——Netflix Zuul
    ④断路器——Netflix Hystrix
    ⑤分布式配置——Spring Cloud Config

5:springcloud的hello:
5.1:注册中心:
    a:pom:web,test,eureka-server
    b:配置文件:
         主要是端口和地址:
                server:
                port: 7001
                eureka:
                instance:
                hostname: localhost
                client:
                registerWithEureka: false #是否要注册到eureka
                fetchRegistry: false #表示是否从Eureka Server获取注册信息
                serviceUrl:
                defaultZone: http://localhost:7001/eureka/ #单机配置
    c:启动类:
                类上加一个@EnableEurekaServer
5.2:服务提供者:provider
    a:pom:web,test,eureka-client
    b:配置文件:
端口和服务名和地址:
                 server:
                 port: 8001
                spring:
                application:
                name: USER-PROVIDER #不要使用下划线
                eureka:
                client:
                service-url:
                defaultZone: http://localhost:7001/eureka
    c:启动类:
                类上加一个@EnableEurekaClient
    d:服务编写:正常的Controller写法
5.3:restTemplate的使用:
      a:pom:web,test
      b:配置文件:
端口和服务名:
                server:
                port: 9001
                spring:
                application:
                name: USER-CONSUMER #不要使用下划线
       c:启动类:
              正常的springboot的启动
       d:编写一个正常的Controller:
              调用的方法:要注入RestTemplate(就需要有这个配置文件:创建一个类:@Configuration(类)和@Bean(方法上))
               String url=“http://localhost:8001/user/”+id;
              User user = restTemplate.getForObject(url,User.class);

6:注册中心的负载均衡:
就是配置文件进行相互依赖:

7:加强:负载均衡ribbon:
7.1:多服务提供者:
       a:搭建一个注册中心
       b:搭建一个服务提供者
       c:复制b的项目:修改配置文件:端口
       d:启动b和c,都会注册到注册中心:一个服务名对应两个服务
       e:和5.3一样搭建一个消费者:
修改:从注册中心获取服务
              1)pom中加入eureka-client
              2)配置文件:配置注册中心地址
              3)restTemplate调用的时候:把地址换成服务名
              4)在RestTemplate的bean上加:@LoadBalanced,开启负载均衡
              5)修改负载均衡的规则:在配置文件的类里搞一个IRule的bean

8:加强:负载均衡feign:
       a:搭建一个注册中心
       b:搭建一个服务提供者
       c:启动b,都会注册到注册中心
       d:和5.3一样搭建一个消费者:
              修改:从注册中心获取服务
              1)pom中加入eureka-client
              2)配置文件:配置注册中心地址
              3)controller:没有写业务:
       e:修改interface:
              导入依赖:web,test,openfeign
              创建一个接口(interface):
              方法的名字,路径,参数等等和b里的一致:就是把b的方法拷贝过来,把方法体删除
              在类上加注解:@FeignClient(value = “USER-FEIGN-PROVIDER”)//提供者在注册中心的服务名
       f:修改消费者:
              增加依赖:openfeign(但是我们依赖了interface项目,里面有这个依赖了,就不再导入了)
              修改Controller的调用:
              注入e中的接口:像调用本地方法一样调用就ok
              启动类:
              加注解:去扫描e中的接口:
              @EnableFeignClients(basePackages =“cn.xx.springcloud.client” )//扫描interface的接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值