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

Spring Cloud与Docker高并发微服务架构设计实施---注册管理中心

时间:2023-08-17 20:00:47浏览次数:33  
标签:架构设计 Spring Boot Finchley eureka --- 2.0 cloud

创建注册管理中心

在模块的项目配置pom.xml文件中引入“eureka-server”的依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

遇到的问题:Cannot resolve org.springframework.cloud:spring-cloud-starter-netflix-eure

解决办法:刷新maven

创建启动程序

package org.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
    public static void main(String[] args){
        SpringApplication.run(EurekaApplication.class,args);
    }
}

遇到的问题:

1、Cannot resolve method 'run' in 'SpringBootApplication'

run方法是SpringApplication的,但是引用注解的时候引用@SpringBootApplication

2、类EurekaApplication 要在org.example包下面,而不是直接在java下面

3、注意springboot和spring cloud的版本对应问题

SpringCloud版本    SpringBoot版本
2022.0.0-M2    Spring Boot >=3.0.0-M2 and <3.1.0-M1
2022.0.0-M1    Spring Boot >=3.0.0-M1 and <3.0.0-M2
2021.0.3    Spring Boot >=2.6.1 and <3.0.0-M1
2021.0.0-RC1    Spring Boot >=2.6.0-RC1 and <2.6.1
2021.0.0-M3    Spring Boot >=2.6.0-M3 and <2.6.0-RC1
2021.0.0-M1    Spring Boot >=2.6.0-M1 and <2.6.0-M3
2020.0.5    Spring Boot >=2.4.0.M1 and <2.6.0-M1
Hoxton.SR12    Spring Boot >=2.2.0.RELEASE and <2.4.0.M1
Hoxton.BUILD-SNAPSHOT    Spring Boot >=2.2.0.BUILD-SNAPSHOT
Hoxton.M2    Spring Boot >=2.2.0.M4 and <=2.2.0.M5
Greenwich.BUILD-SNAPSHO    Spring Boot >=2.1.9.BUILD-SNAPSHOT and <2.2.0.M4
Greenwich.SR2    Spring Boot >=2.1.0.RELEASE and <2.1.9.BUILD-SNAPSHOT
Greenwich.M1    Spring Boot >=2.1.0.M3 and <2.1.0.RELEASE
Finchley.BUILD-SNAPSHOT    Spring Boot >=2.0.999.BUILD-SNAPSHOT and <2.1.0.M3
Finchley.SR4    Spring Boot >=2.0.3.RELEASE and <2.0.999.BUILD-SNAPSHOT
Finchley.RC2    Spring Boot >=2.0.2.RELEASE and <2.0.3.RELEASE
 Finchley.RC1     Spring Boot >=2.0.1.RELEASE and <2.0.2.RELEASE
Finchley.M9    Spring Boot >=2.0.0.RELEASE and <=2.0.0.RELEASE
Finchley.M7    Spring Boot >=2.0.0.RC2 and <=2.0.0.RC2
Finchley.M6    Spring Boot >=2.0.0.RC1 and <=2.0.0.RC1
Finchley.M5    Spring Boot >=2.0.0.M7 and <=2.0.0.M7
Finchley.M4    Spring Boot >=2.0.0.M6 and <=2.0.0.M6
Finchley.M3    Spring Boot >=2.0.0.M5 and <=2.0.0.M5
Finchley.M2    Spring Boot >=2.0.0.M3 and <2.0.0.M5
Edgware.SR5    1.5.20.RELEASE
Edgware.SR5    1.5.16.RELEASE
Edgware.RELEASE    1.5.9.RELEASE
Dalston.RC1    1.5.2.RELEASE

工程的配置文件application.yml

 

server:
  port: 8761
eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://localhost:${server.port}/eureka/
spring.cloud.config.discovery.enable: true

 

register-with-eureka表示是否将本实例在Eureka Server中进行注册,默认为true。
fetch-registry表示是否从Eureka Server中取得本实例的注册信息,默认为true。
如果将注册管理中心进行多实例发布,可以将register-with-eureka设置为true
defaultZone表示从默认分区中访问Eureka Server
微服务怎样使用注册管理中心
在项目中增加Eureka的相关依赖引用:
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
        </dependency>
引用了zuul组件,zuul组件提供智能路由的服务。引用zuul组件后,Ribbon组件也会被自动引用进来,他提供了负载均衡功能。
在微服务的主程序中增加如下三个注解
@EnableDiscoveryClient//客户端服务发现功能
@EnableZuulProxy//启用ZuulPorxy代理以使用智能路由的功能
@EnableHystrix//使用Hystrix的断路由功能以提供服务降级和容错的机制
在工程相关的模块增加以下配置,即可接入注册管理中心
spring:
  application:
    name: catalogapi//实例名称,这个名称必须保证唯一性
eureka:
 client:
  serviceUrl:
    defaultZone: http://localhost:8761/eureka/
  instance:
    hostname: localhost
    prefer-ip-address: true//设置为true以IP地址注册到服务中心,相互注册使用IP地址

 

 
 
 


 

标签:架构设计,Spring,Boot,Finchley,eureka,---,2.0,cloud
From: https://www.cnblogs.com/luckLjh/p/17632293.html

相关文章

  • MySQL-进阶篇 ( SQL 优化:插入 + 主键 + order by + group by + limit + count + updat
    MySQL-进阶篇(SQL优化)目录MySQL-进阶篇(SQL优化)SQL优化插入数据index批量插入手动提交事务主键插入大批量插入数据主键优化页分裂页合并主键设计原则orderby优化Usingfilesort:Usingindex:优化注意:groupby优化未创建索引时:创建索引后:优化limit优化count优化一......
  • MySQL-进阶篇 ( 锁:全局锁 + 表级锁 + 行级锁 )
    MySQL-进阶篇(锁)目录MySQL-进阶篇(锁)锁全局锁介绍使用演示特点表级锁介绍表锁元数据锁(metadatalock,MDL)意向锁行级锁介绍行锁间隙锁/临键锁锁锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以......
  • MySQL-进阶篇 ( 视图 + 存储过程 + 触发器 )
    MySQL-进阶篇(视图/存储过程/触发器)目录MySQL-进阶篇(视图/存储过程/触发器)视图/存储过程/触发器视图介绍视图大体语法视图的检查选项CASCADED和LOCAL视图的更新作用案例存储过程介绍特点语法变量系统变量用户定义变量局部变量if语句参数case语句三种循......
  • MySQL-进阶篇 ( MySQL 管理:各相关工具 )
    MySQL-进阶篇(MySQL管理)目录MySQL-进阶篇(MySQL管理)系统数据库常用工具mysql(Mysql客户端工具,-e执行SQL并退出)mysqladmin(Mysql管理工具)mysqlbinlog(二进制日志查看工具)mysqlshow(查看数据库、表、字段的统计信息)mysqldump(数据备份工具)mysql......
  • 使用 OpenTelemetry 构建可观测性 03 - 导出
    上一个博文中,我提到如何使用OpenTelemery的特定语言API来收集遥测数据,包含手动和自动的埋点技术,这很重要!但是,收集遥测数据只是解决方案的第一步。你需要把遥测数据路由转发到其他地方,同时添加额外的元数据信息。这时就轮到SDK发挥作用了。链路追踪生产者(TracerProvider......
  • MySQL-基础篇 ( 多表查询:相关 + 内连接 + 外连接 + 自链接 + 联合查询 + 子查询 )
    MySQL-基础篇(多表查询)目录MySQL-基础篇(多表查询)多表查询分类多表关系概述一对多(多对一)多对多一对一多表查询概述笛卡尔积内连接隐式内连接显式内连接外连接左外连接右外连接自连接联合查询-union,unionall子查询标量子查询列子查询行子查询表子查询多表查询案......
  • MySQL-基础篇 ( 函数 + 约束 )
    MySQL-基础篇(函数+约束)目录MySQL-基础篇(函数+约束)函数字符串函数数值函数日期函数流程函数约束概述约束演示外键约束外键的删除/更新行为函数是指一段可以直接被另一段程序调用的程序或代码解决情况:表内存储的是入职日期,通过函数快速计算出入职天数表内存......
  • MySQL-基础篇 ( 事务:相关 + 操作 + ACID + 并发问题 + 隔离级别 )
    MySQL-基础篇(事务)目录MySQL-基础篇(事务)事务简介事务操作方式一方式二事务四大特性(ACID)并发事务问题事务隔离级别事务简介事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要......
  • 解决Cnblogs-Theme-SimpleMemory应用后博客加载缓慢问题
    在应用Cnblogs-Theme-SimpleMemory(https://github.com/BNDong/Cnblogs-Theme-SimpleMemory)美化博客之后,发现博客访问缓慢,甚至直接无法加载。为解决问题,仔细观察安装应用源码后,在其安装使用说明网站(点击访问)中找到以下代码行:该网址指向CloudFlare所提供的CDN加速服务,拉取了d......
  • MySQL-基础篇 ( 相关了解 + SQL-DDL )
    MySQL-基础篇(相关了解+SQL-DDL)目录MySQL-基础篇(相关了解+SQL-DDL)认知了解MySQL数据库SQL通用语法分类数据类型数值类型字符串类型日期时间类型DDL数据库操作查询创建删除使用表操作查询创建修改删除数据库图形化界面工具认知了解数据库,DataBase简称DB,是有组......