首页 > 其他分享 >Spring Cloud与Docker高并发微服务架构设计实施---微服务监控中心

Spring Cloud与Docker高并发微服务架构设计实施---微服务监控中心

时间:2023-08-29 15:49:55浏览次数:43  
标签:架构设计 spring springframework --- starter 监控 Spring org cloud

在众多正在运行的微服务中,我们必须做到随时掌握每一个服务的运行情况及其健康状态,才能保证整个平台的稳定性和可靠性。使用Hystrix断路器仪表盘功能就可以创建一个监控中心,实现在线监控微服务的运行状态。(此处代码有待完善)

首先,在项目的配置管理中心中增加依赖配置

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
    </dependencies>

创建一个启动程序

@SpringBootApplication
@Controller//创建了一个控制器,设定对主业的链接转发到“/hystrix”中
@EnableHystrixDashboard//启动路由器仪表盘功能
@EnableCircuitBreaker
public class HystrixApplication {
    @RequestMapping("/")
    public String home(){
        return "forward: /hystrix";
    }
    public static void main(String[] args){
        SpringApplication.run(HystrixApplication.class,args);
    }
}

创建应用的配置文件"application.yml"

server:
  port: 7979
endpoints:
  restart:
    enabled: true
  shutdown:
    enabled: true

使用“http://localhost:7979”可以打开监控中心的控制台

聚合服务监控管理中心

上面的监控中心能够单独针对每一个微服务进行监控。当需要监控不同的服务是,将切换不同的界面。创建一个聚合服务监控中心,可以在一个界面中同时监控多个微服务

新建一个模块,名字设定为base-turbine

引入依赖

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-turbine</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>
    </dependencies>

创建启动程序

@EnableHystrixDashboard
@SpringBootApplication
@EnableHystrix
@Controller
@EnableTurbine//turbine监控聚合功能
@EnableDiscoveryClient//Eureka服务发现功能
public class TurbineApplication {
    public static void main(String[] args){
        SpringApplication.run(TurbineApplication.class, args);
    }
}

工程的配置文件“application.yml”

server:
  port: 8989
management:
  server:
    port: 8990
eureka:
  instance:
    lease-renewal-interval-in-seconds: 10
    non-secure-port: ${PORT:8989}
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
turbine:
  app-config: erueka//指定需要监控的服务
  aggregator:
    cluster-config: default
  cluster-name-expression: new String("default")

增加一个“bootstrap.yml”配置文件,连接配置管理中心

spring:
  application:
    name: turbine
  cloud:
    config:
      uri: http://localhost:8888
  rabbitmq:
    addresses: amqp://localhost:5762
    username: guest
    password: guest

 

标签:架构设计,spring,springframework,---,starter,监控,Spring,org,cloud
From: https://www.cnblogs.com/luckLjh/p/17664955.html

相关文章

  • 微信小程序 scroll-view 组件的 bindscroll 不触发不生效
    使用微信小程序基础组件中的scroll-view,但是滑动的时候bindscroll一直不生效。<viewclass="containerlog-list"><scroll-viewscroll-ystyle="height:100%;white-space:nowrap;"scroll-into-view="{{toView}}"enable-back-to-topbindscroll="......
  • MyBatis-Plus通过注解设置主键自增策略
    MySQL数据库使用自增列(AutoIncrementColumn)MySQL支持自增列,这是一种方便的方式来生成主键值。在MyBatis-Plus中,你可以使用@TableId(type=IdType.AUTO)注解来指定自增列作为主键生成策略。首先,确保你的MySQL表中已经设置了自增列。例如:CREATETABLEyour_table_name......
  • drf-day2
    昨日作业1用django写个demo---》postman测试1、传用户名密码到后端,查询数据库,都对了---》返回json格式{code:100,msg:登录成功}---》urlencoded2、打印request.POST3、打印request.body2写一个接口,可以长传文件{code:100,msg:上传成功}request.POST---->有......
  • Vue【原创】基于elementui的分组多选下拉框【group-list】
    效果图: 如图分为多选模式和单选模式。 group-select:1<template>2<div>3<el-select4v-model="innerValue"5:placeholder="placeholder"6@change="changeSelect"......
  • 教程更新 | RK3568驱动指南第六篇-平台总线
     《iTOP-RK3568开发板驱动开发指南》更新,本次更新内容对应的是驱动(第六期_平台总线_全新升级)视频,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。     ✦第一篇驱动基础 第1章前言 1.1学习方法 1.2基础准备 第2章你好!内核源码 2......
  • hive-四种排序
    数据准备200832.0200821.0200831.5200817.0201334.0201532.0201533.0201515.9201531.0201519.9201527.0201623.0201639.9201632.0建表createtableods_temperature(yearint,......
  • day①-python基础
    Python介绍发展史Python2or3?安装HelloWorld程序变量用户输入模块初识.pyc是个什么鬼?数据类型初识数据运算表达式if...else语句表达式for循环breakandcontinue 表达式while循环作业需求 一、Python介绍python的创始人为吉多·范罗苏姆(GuidovanR......
  • redis集群-Cluser
    目录一RedisCluser介绍背景1.1问题1.2解决二数据分布(分布式数据库)2.1存在问题2.2分区方式2.2.1顺序分区2.2.2哈希分区三集群搭建四python操作集群一RedisCluser介绍背景https://www.cnblogs.com/liuqingzheng/articles/17324393.html1.1问题#存在问题1并发量......
  • 通过AOP拦截Spring Boot日志并将其存入数据库
    本文分享自华为云社区《SpringBoot入门(23):【实战】通过AOP拦截SpringBoot日志并将其存入数据库》,作者:bug菌。前言在软件开发中,常常需要记录系统运行时的日志。日志记录有助于排查系统问题、优化系统性能、监控操作行为等。本文将介绍如何使用SpringBoot和AOP技术实现拦截系......
  • W-TinyLru
    一、LRU每次淘汰最久未访问的那个元素可以用双向链表+hash实现主要流程插入直接插入到队头查找通过hash找到对应元素,然后将这个元素调整到队头淘汰队尾元素就是最久未访问的那个元素,直接淘汰实现GitHub存在的问题最明显的,LRU淘汰的是最久未访问的元素,比如队列大小......