idea建springcloud项目_一、搭建springboot+springcloud分布式项目实现增删改查功能

本文介绍了如何使用IDEA搭建基于SpringBoot和SpringCloud的分布式项目,首先讲解了Eureka服务发现框架,包括Eureka Server和Eureka Client的职责。接着,详细阐述了如何创建Eureka Server,配置application.properties文件,并启动项目。随后,创建了服务提供者provider-one,包括数据库表、项目结构、各层代码编写以及配置文件设置。最后,提到了服务消费者consumer-ribbon和consumer-feign,利用Ribbon和Feign进行服务调用,并实现负载均衡和断路器功能。
摘要由CSDN通过智能技术生成

一、环境

1、jdk1.8

2、IDEA

3、apache maven

4、Spring Boot 2.1.9.RELEASE

5、Spring Cloud Finchley版本

二、服务发现框架 - Eureka

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。

Eureka包含两个组件:Eureka Server和Eureka Client。

Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。

Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。

在应用启动后,将会向Eureka Server发送心跳,默认周期为30秒,如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。

Eureka Server之间通过复制的方式完成数据的同步,Eureka还提供了客户端缓存机制,即使所有的Eureka Server都挂掉,客户端依然可以利用缓存中的信息消费其他服务的API。综上,Eureka通过心跳检查、客户端缓存等机制,确保了系统的高可用性、灵活性和可伸缩性。

3、服务注册服务- Eureka Server

1、使用IDEA新建工程

63665a2f2414

点击next

63665a2f2414

选择 Cloud Discovery 下的 Eureka Server 组件,点击next

63665a2f2414

选择Web中的Spring Web和Spring Cloud Discovery中的Eureka Server,点击next

63665a2f2414

填写项目名和选择项目保存的路径后,点击finish

63665a2f2414

2、在EurekaServerApplication类中使用 @EnableEurekaServer 来说明项目是一个 Eureka@SpringBootApplication

@EnableEurekaServer

public class EurekaServerApplication {

public static void main(String[] args) {

SpringApplication.run(EurekaServerApplication.class, args);

}

}

3、修改配置文件,可以是 application.properties 或 application.yml,后缀不一样,内容差不多,只是格式不一样,使用其中一个文件就可以了,下面列出他们的区别,后面统一使用application.properties

application.properties 文件的配置server.port=8001

spring.application.name=eurka-server

eureka.instance.hostname=localhost

eureka.client.register-with-eureka=false

eureka.client.fetch-registry=false

eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

application.yml文件的配置server:

port: 8001 #服务端口

spring:

application:

name: eurka-server #服务应用名称

eureka:

instance:

hostname: localhost

client:

registerWithEureka: false #是否将自己注册到Eureka Server,默认为true

fetchRegistry: false #是否从Eureka Server获取注册信息,默认为true

service-url:

defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #服务注册的 URL

默认 eureka server 也是一个 eureka client,registerWithEureka: false 和 fetchRegistry: false 来表明项目是一个 Eureka Server。

4.运行 EurekaServerApplication类,启动项目,访问项目 http://localhost:8001/,目前还没有服务

63665a2f2414

2、服务提供者provider-one

1、使用MySQL建立测试表userDROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (

`id` varchar(10) DEFAULT NULL,

`username` varchar(64) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `user` VALUES ('3', '张三');

2、新建工程,命名为:provider-one

选择spring boot组件时,选择Eureka Discovery Client,而不是Eureka Server&#

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于搭建Spring Boot和Spring Cloud项目,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Java和Maven,并且配置了正确的环境变量。 2. 创一个新的Spring Boot项目。您可以使用Spring Initializr(https://start.spring.io/)来生成一个基本的Spring Boot项目结构。在这个网站上,您可以选择Spring Boot的版本、项目的元数据以及一些必要的依赖。 3. 导入项目到您的开发工具中。如果您使用的是IntelliJ IDEA,可以选择"Import Project"并选择您刚刚生成的项目文件夹。如果您使用的是Eclipse,可以选择"Import" -> "Existing Maven Projects"。 4. 在项目中添加Spring Cloud依赖。根据您的需求,可以添加Spring Cloud的不同组件,例如Eureka(服务注册与发现)、Ribbon(客户端负载均衡)、Feign(声明式REST客户端)、Zuul(API网关)等。您可以在Maven的pom.xml文件中添加相应的依赖。 5. 配置Spring Cloud组件。根据您选择的组件,您需要在application.properties或application.yml文件中进行相应的配置。例如,如果您使用Eureka进行服务注册与发现,您需要配置Eureka服务器的地址、端口等信息。 6. 编写业务逻辑。根据您的项目需求,编写相应的业务逻辑代码。您可以创控制器、服务、数据访问层等组件来实现您的功能。 7. 运行项目。您可以在开发工具中运行项目,或者使用Maven命令进行打包和运行。例如,使用"Maven clean package"命令进行打包,然后使用"java -jar"命令运行生成的jar文件。 这些是搭建Spring Boot和Spring Cloud项目的基本步骤。当然,具体的细节和配置可能会根据您的项目需求有所不同。希望对您有所帮助!如有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值