热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

idea快速搭建springcloud注册中心与注册的方法

这篇文章主要介绍了idea快速搭建springcloud注册中心与注册的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

spring cloud快速搭建

Spring Cloud是一个微服务框架,它基于spring boot, Spring Cloud提供的全套的分布式系统解决方案 。 

首先我们使用gradle来创建:

选择JDK以及勾选Java,然后下一步

起包名已经项目名,下一步:

选择我们本地的gradle包,一直下一步,点击build.gradle并添加我们的依赖:

group 'com.gaofei'
version '1.0-SNAPSHOT'

//gradle使用的插件
apply plugin: 'java'
//gradle使用spring-boot打包更方便
apply plugin: 'spring-boot'


//jdk的版本号
sourceCompatibility = 1.8


//本项目的
dependencies {
  testCompile group: 'junit', name: 'junit', version: '4.12'
}

//由于本次创建gradle未出现src,由以下代码来解决
task "create-dirs" <<{
  sourceSets*.java.srcDirs*.each {
    it.mkdirs()
  }
  sourcScts*.resources.srcDirs*.each{
    it.midirs()
  }
}


//编译构建时的配置
buildscript {
  ext{
    springBootVersion='1.5.10.RELEASE' //springBootVersion是自己定义的变量 里面写的是springboot插件的版本
  }
  repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    jcenter()
    mavenCentral()
    maven{ url "http://repo.spring.io/snapshot" }
    maven{ url "http://repo.spring.io/milestone" }
    maven{ url "http://repo.spring.io/release" }
    maven{ url 'http://repo.spring.io/plugins-snapshot' }
  }
  dependencies{
    classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")//指的是springboot的一个插件
  }
}



//统一所有项目的配置 就是对所有的模块进行统一配置 所有以后的模块都不用再配置
allprojects {

  group 'com.gaofei' //分组
  version '1.0-SNAPSHOT' //版本号

  ext{
    springCloudVersion='Edgware.SR2'
  }
  //所有项目都会引用的阿里云里的maven
  repositories {
    maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    jcenter()
    mavenCentral()
    maven{ url "http://repo.spring.io/snapshot" }
    maven{ url "http://repo.spring.io/milestone" }
    maven{ url "http://repo.spring.io/release" }
    maven{ url 'http://repo.spring.io/plugins-snapshot' }
  }
}

//统一所有子项目的配置
subprojects {
  apply plugin: 'java'
  apply plugin: 'idea'
  apply plugin: 'spring-boot'

  dependencies {
    compile('org.springframework.boot:spring-boot-starter-web'){
      //使用undertow来代替tomacat
      exclude module:"spring-boot-starter-tomcat"
    }
    //替代tomcat
    compile 'org.springframework.boot:spring-boot-starter-undertow'
    //健康检查
    compile 'org.springframework.boot:spring-boot-starter-actuator'
    dependencies {
      testCompile group: 'junit', name: 'junit', version: '4.12'
    }
  }
  //版本控制插件
  dependencyManagement{
    imports{
      mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
  }

}

通过注释可以看到各个代码块的作用,这里我们是用阿里云的仓库

接下来我们开始建eureka注册中心,通过new->Module再建gradle项目来创建

在build中添加eureka-server依赖

//表示自己是一个服务器
  compile 'org.springframework.cloud:spring-cloud-starter-eureka-server'

接下来在application.yml中配置

server:
 port: 8000
spring:
 application:
  name: register-center #起个名字
eureka:
 client:
  register-with-eureka: false #启动时不注册表明自己是一个注册中心
  fetch-registry: false

启动类

@SpringBootApplication
@EnableEurekaServer//表明自己是注册中心
public class RegisterCenterProvider {
  public static void main(String[] args) {

    SpringApplication.run(RegisterCenterProvider.class);
  }
}

启动:

这就表示注册中心启动成功

下面创建服务注册到服务中心

创建一个gradle module 项目

在build.gradle中添加thymeleaf组件,eureka客户端组件的依赖

//thymeleaf组件
  compile 'org.springframework.boot:spring-boot-starter-thymeleaf'
  //eureka客户端组件
  compile 'org.springframework.cloud:spring-cloud-starter-eureka'

在application.yml中配置:

server:
 port: 8001 
spring:
 application:
  name: project-shopping-mall #注册在注册中心的名字,它会进行键值对映射url
 thymeleaf:
  cache: false #关闭缓存
eureka:
 client:
  service-url:
   defaultZone: http://localhost:8000/eureka/ #注册到注册中心
 instance:
  prefer-ip-address: true #用两种方式进行注册,一种是使用主机名注册,一种是使用ip地址进行注册,这里使用ip地址进行注册

启动类:

@SpringBootApplication
@EnableDiscoveryClient //表示eureka客户端
public class ShoppingMallProvider {
  public static void main(String[] args) {
    SpringApplication.run(ShoppingMallProvider.class);
  }
}

启动:

成功!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文总结了淘淘商城项目的功能和架构,并介绍了传统架构中遇到的session共享问题及解决方法。淘淘商城是一个综合性的B2C平台,类似京东商城、天猫商城,会员可以在商城浏览商品、下订单,管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。商城的架构包括后台管理系统、前台系统、会员系统、订单系统、搜索系统和单点登录系统。在传统架构中,可以采用tomcat集群解决并发量高的问题,但由于session共享的限制,集群数量有限。本文探讨了如何解决session共享的问题。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
author-avatar
herozhx
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有