首页 > 其他分享 >微服务实战demo(1.5.17.RELEASE&Edgware.SR5)

微服务实战demo(1.5.17.RELEASE&Edgware.SR5)

时间:2023-08-13 14:55:07浏览次数:36  
标签:1.5 17 spring springframework eureka starter demo org cloud

一、注册中心(使用eureka)

1.依赖:
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka-server</artifactId>    
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
 </dependency>

 

2.配置:
server:
  port: 8761
spring:
  application:
    name: register
eureka:
  instance:
    hostname: imooc:123456@localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
security:
  basic:
    enabled: true
  user:
    name: imooc
    password: 123456

 

3.启动注解: 在启动类添加
@EnableEurekaServer

 

4.访问: http://localhost:8761  

二、 网关 

(zuul,默认是Hystrix 客户端,不需要再注入Hystrix,并且能对所有的请求进行监控) 1.依赖:
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
 <dependency> 
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>

 

2.配置:
server:
  port: 8888
spring:
  application:
    name: proxy
eureka:
  client:
    service-url:
      defaultZone: http://imooc:123456@localhost:8761/eureka
zuul:
  #定义路由规则,默认路由是网关地址+应用名+应用原来的接口requestMapping
  routes:    
    userApi:
      path: /user/**
      serviceId: user
      # 是否去掉**前缀,默认是
      stripPrefix: true

 

3.启动注解:

在启动类添加
@EnableEurekaClient
@EnableZuulProxy

 

三、服务

1.依赖:
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-eureka</artifactId>
  </dependency>

 

2.配置:

server:
  port: 8081
spring:
  application:
    name: user
eureka:
  client:
    service-url:
      defaultZone: http://imooc:123456@localhost:8761/eureka

 

3.启动注解: 在启动类添加
@EnableEurekaClient

 

四、监控(Hystrix 分服务端和客户端)

1.依赖:
<!-- 服务端 -->
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
  </dependency>
 
<!-- hystrix 客户端 -->
  <dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-hystrix</artifactId>
  </dependency>
<!-- 能够收集应用中的性能监控信息及开放一些管理端的接口 --> 
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
  </dependency>

 

2、配置:     3、启动注解: 在启动类添加(服务端)
@EnableHystrixDashboard

 

在启动类添加(客户端)

@EnableHystrix

在接口处添加(客户端)

@HystrixCommand(fallbackMethod = "fallbackGetOrder")

*fallbackMethod = "fallbackGetOrder"是指定如果报错了,就调用该方法,要求方法的入参及出参要与原方法一样

  4、服务端访问:ip:端口/hystrix 在服务页文本框里输入客户端的ip:端口/hystrix.stream 进行查看监控    

五、服务间调用(Feign)

1、依赖:
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-feign</artifactId>
  </dependency>

 

2、配置:0     3、启动注解: 在启动类添加
@EnableFeignClients

 

4、代码编写: 调用端编写接口:
@FeignClient(value = "order",path = "/")
public interface OrderClient {

    /**
     * 获取订单信息
    * @return java.lang.String
    * @author wangquanqing
    * @date 2018/11/27 15:21
    */
    @GetMapping("/{id}")
    String getMyOrderId(@PathVariable(name = "id") Long id);
}

 

被调用端编写接口实现:
@RestController
@RequestMapping("/")
public class OrderResource {

    @GetMapping("/{id}")
    public Long getMyOrder(@PathVariable(name="id") Long id){
        return id;
   }
}

 

 

标签:1.5,17,spring,springframework,eureka,starter,demo,org,cloud
From: https://www.cnblogs.com/anquing/p/17626566.html

相关文章

  • pyspark小demo2
    ##py_pyspark_demo2.py#py_learn##CreatedbyZ.Steveon2023/8/1310:55.#importjson#1.导入库frompysparkimportSparkConf,SparkContext#2.创建SparkConf和SparkContext对象conf=SparkConf().setMaster("local[*]").setAppName(&q......
  • 175. 组合两个表
    表: Person+-------------+---------+|列名|类型|+-------------+---------+|PersonId|int||FirstName|varchar||LastName|varchar|+-------------+---------+personId是该表的主键列。该表包含一些人的ID和他们的姓和名的信......
  • zookeeper_demo
    参考:全网最详细的zookeeper实战教程,看完你就知道有多值-知乎(zhihu.com)ZooKeeper入门,看这篇就够了!-知乎(zhihu.com)windows安装zk:windows环境下安装zookeeper教程详解(单机版)_风轩雨墨的博客-CSDN博客 zk的watch机制:Zookeeper——Watch机制原理_zookeeperwatch机制_庄......
  • 176. 第二高的薪水
    176.第二高的薪水2023年8月12日19:03:40176.第二高的薪水中等SQLSchemaPandasSchemaEmployee表:+-------------+------+|ColumnName|Type|+-------------+------+|id|int||salary|int|+-------------+------+在SQL中,id是这个表......
  • 177. 第N高的薪水
    177.第N高的薪水2023年8月12日20:32:24177.第N高的薪水中等SQLSchema表:Employee+-------------+------+|ColumnName|Type|+-------------+------+|id|int||salary|int|+-------------+------+在SQL中,id是该表的主键。该表的每......
  • 1517. 查找拥有有效邮箱的用户
    1517.查找拥有有效邮箱的用户2023年8月12日20:27:491517.查找拥有有效邮箱的用户简单SQLSchemaPandasSchema表:Users+---------------+---------+|ColumnName|Type|+---------------+---------+|user_id|int||name|varchar......
  • 1757. 可回收且低脂的产品
    1757.可回收且低脂的产品2023年8月12日19:06:451757.可回收且低脂的产品简单SQLSchemaPandasSchema表:Products+-------------+---------+|ColumnName|Type|+-------------+---------+|product_id|int||low_fats|enum||recyclable......
  • 最完美WIN11_Pro_22H2.22621.2213软件选装纯净版VIP51.5
    【系统简介】=============================================================1.本次更新母盘来自UUP_WIN11_Pro_22H2.22621.2213。进一步精简优化调整。2.只为呈现最好的作品,手工精简优化部分较多。3.OS版本号为22621.2213。个别要求高的就下MSDN吧,里面啥功能都有。4.集成《DrvCeo......
  • Autodesk Maya 2017三维动画软件下载和安装教程
    AutodeskMaya是Autodesk公司出品的世界顶级的三维动画软件,应用对象是专业的影视广告,角色动画,电影特技等。Maya功能完善,工作灵活,易学易用,制作效率极高,渲染真实感极强,是电影级别的高端制作软件。软件介绍加入了漫游工具(WalkTool)。使用快捷键Alt+X开启这个模式后,按住鼠标左右键,然后......
  • 【230812-2】指数比较大小:13^17 vs 17^13
    ......