史上最简单的springcloud搭建(附阿里脚手架使用)

特别说明:本文仅限于初学者,深入探讨spring cloud的特性请持续关注后续博文。

不同于网上的其他教程,我们主要借用今年阿里刚发布的脚手架(https://start.aliyun.com/),至于为什么使用这个脚手架,相信用过https://start.spring.io的都知道,spring自带的这个,不做代理根本是无法正常构建的。

构建一个spring cloud项目,主要分为三个部分:注册中心、服务者、消费者

我们先从注册中心开始构建,

首先进入阿里的脚手架页面,填写相关的项目信息,然后选择spring cloud注册中心的相关依赖(详情请看下图)

史上最简单的springcloud搭建(附阿里脚手架使用)_第1张图片

史上最简单的springcloud搭建(附阿里脚手架使用)_第2张图片

选择Eureka Server,然后构建模板

史上最简单的springcloud搭建(附阿里脚手架使用)_第3张图片

下载之后,打开项目,按照下图进行编辑

史上最简单的springcloud搭建(附阿里脚手架使用)_第4张图片

spring.application.name=demo
# 应用服务web访问端口
server.port=1234
# ActuatorWeb访问端口
management.server.port=8081
management.endpoints.jmx.exposure.include=*
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always

# spring cloud access&secret config
# 可以访问如下地址查看: https://usercenter.console.aliyun.com/#/manage/ak
spring.cloud.alicloud.access-key=****
spring.cloud.alicloud.secret-key=****

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/

在启动类上添加注解@EnableEurekaServer

package com.example.demo;

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

@SpringBootApplication
@EnableEurekaServer
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}

}

启动项目,这时候我们发现已经可以访问到注册中心管理页了(访问时不需要带项目名,直接localhost:1234即可),此时我们的注册中心搭建完毕。

史上最简单的springcloud搭建(附阿里脚手架使用)_第5张图片

接下来我们构建一个服务者,构建流程与上述过程类似,这不过依赖需要更改一下,这次我们选择使用Eureka Discovery Client

史上最简单的springcloud搭建(附阿里脚手架使用)_第6张图片

下载之后打开项目,修改配置文件

#################################### common config : ####################################
spring.application.name=server
# 应用服务web访问端口
server.port=8080
# ActuatorWeb访问端口
management.server.port=8081
management.endpoints.jmx.exposure.include=*
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always

# spring cloud access&secret config
# 可以访问如下地址查看: https://usercenter.console.aliyun.com/#/manage/ak
spring.cloud.alicloud.access-key=****
spring.cloud.alicloud.secret-key=****

spring.cloud.loadbalancer.ribbon.enabled=false
eureka.client.serviceUrl.defaultZone=http://localhost:1234/eureka/

不同于注册中心,服务者的启动类需要做以下处理(如果不做线程处理,使用启动类无法正常启动,但是在tomcat可以正常启动,具体原因不详,有知道的小伙伴可以底下留言)

package com.example.server;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class ServerApplication {

	public static void main(String[] args) {
		SpringApplication.run(ServerApplication.class, args);
		while (true){
			try {
				Thread.sleep(Integer.MAX_VALUE);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}

}

此时,服务者构建完成,此时刷新注册中心管理页面,我们发现已经显示出一个注册服务。

史上最简单的springcloud搭建(附阿里脚手架使用)_第7张图片

消费者的构建方式与服务者基本一致,关于消费者如何调用服务,我们将在后续博文中介绍。

你可能感兴趣的:(springcloud,springboot,spring,eureka,java,spring,boot,cloud)