当前位置: 首页 > news >正文

网站建设运营合同模板最近最新新闻

网站建设运营合同模板,最近最新新闻,高端软件定制开发,关于单位网站建设的系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 文章目录 系列文章目录[TOC](文章目录) 前言1、Eureka 两大组件2、Eureka 服务注册与发现3、案例3.1、创建主工程3.1.1、主…

系列文章目录

第一章 Java线程池技术应用
第二章 CountDownLatch和Semaphone的应用
第三章 Spring Cloud 简介
第四章 Spring Cloud Netflix 之 Eureka
在这里插入图片描述


文章目录

  • 系列文章目录
    • @[TOC](文章目录)
  • 前言
  • 1、Eureka 两大组件
  • 2、Eureka 服务注册与发现
  • 3、案例
    • 3.1、创建主工程
      • 3.1.1、主工程pom.xml配置
    • 3.2、创建子公共模块common-api
      • 3.2.1、添加module
      • 3.2.2、pom.xml配置
      • 3.2.3、maven非springboot项目,增加main入口
    • 3.3、创建Eureka注册中心模块eureka-server
      • 3.3.1、配置pom.xml
      • 3.3.2、配置application.yml
      • 3.3.3、启动eureka-server
        • 3.3.3.1、编译eureka-server
        • 3.3.3.2、运行EurekaServerApplication.java文件
    • 3.4、创建用户服务模块user-service![在这里插入图片描述](https://img-blog.csdnimg.cn/e52d0b166629469baa1cd934714c9831.png)
      • 3.4.1、配置pom.xml
      • 3.4.2、配置application.yml
      • 3.4.3、启动user-service
        • 3.4.3.1、编译user-service
        • 3.4.3.2、运行UserApplication.java文件
        • 3.4.3.3、测试
    • 3.5、查看编译后的包
  • 小结

前言

今天我们讲解Spring Cloud微服务的第一代实现:Spring Cloud Netflix
Eureka 是 Netflix 公司开发的一款开源的服务注册与发现组件。
Spring Cloud 使用 Spring Boot 思想为 Eureka 增加了自动化配置,开发人员只需要引入相关依赖和注解,就能将 Spring Boot 构建的微服务轻松地与 Eureka 进行整合。

附简单的Netflix微服务架构图(Zuul太麻烦直接由Gateway替代):
在这里插入图片描述
Alibaba微服务架构图:
在这里插入图片描述
想在Netflix、Alibaba之间切换的,可以看下图,替换掉相关组件,核心业务代码基本没有太大变化。
在这里插入图片描述

1、Eureka 两大组件

Eureka 采用 CS(Client/Server,客户端/服务器) 架构,它包括以下两大组件:Eureka Server、Eureka Client

组件介绍
Eureka ServerEureka 服务注册中心,主要用于提供服务注册功能
Eureka ClientEureka 客户端,通常指的是微服务系统中各个微服务

2、Eureka 服务注册与发现

在这里插入图片描述

功能介绍
服务注册中心(Register Service)它是一个 Eureka Server,用于提供服务注册和发现功能。
服务提供者(Provider Service)它是一个 Eureka Client,用于提供服务。它将自己提供的服务注册到服务注册中心,以供服务消费者发现。
服务消费者(Consumer Service)它是一个 Eureka Client,用于消费服务。它可以从服务注册中心获取服务列表,调用所需的服务。

3、案例

3.1、创建主工程

名称:SpringCloud
在这里插入图片描述

3.1.1、主工程pom.xml配置

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><packaging>pom</packaging><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.13</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.hqyj</groupId><artifactId>drp</artifactId><version>0.0.1-SNAPSHOT</version><name>drp-parent</name><description>Demo project for Spring Boot</description><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><junit.version>4.12</junit.version><log4j.version>1.2.17</log4j.version><lombok.version>1.16.18</lombok.version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2021.0.5</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.5.1</version><configuration><source>${maven.compiler.source}</source><target>${maven.compiler.target}</target></configuration></plugin></plugins></build></project>

3.2、创建子公共模块common-api

3.2.1、添加module

在这里插入图片描述
在这里插入图片描述

3.2.2、pom.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.hqyj</groupId><artifactId>SpringCloud</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>common-api</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies></project>

3.2.3、maven非springboot项目,增加main入口

添加Main.java,指定main入口,防止Maven package / install打包失败

public class Main {public static void main(String[] args) {System.out.println("common-api");}}

3.3、创建Eureka注册中心模块eureka-server

在这里插入图片描述

3.3.1、配置pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.hqyj</groupId><artifactId>SpringCloud</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>eureka-server</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><skip-tests>true</skip-tests></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>com.github.enesusta</groupId><artifactId>spring-devtools</artifactId><version>1.0.1</version><optional>true</optional></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency></dependencies></project>

3.3.2、配置application.yml

在resource目录下,新建application.yml文件
在这里插入图片描述

编辑application.yml文件,添加eureka配置

server:port: 7001eureka:instance:hostname: localhost #eureka服务端的实例名称,client:register-with-eureka: false #false表示不向注册中心注册自己。fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务service-url:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #单机版服务注册中心

3.3.3、启动eureka-server

创建EurekaServerApplication.java启动文件


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {public static void main(String[] args) {SpringApplication.run(EurekaServerApplication.class,args);}
}
3.3.3.1、编译eureka-server

在这里插入图片描述
在这里插入图片描述

3.3.3.2、运行EurekaServerApplication.java文件

在这里插入图片描述
启动:http://localhost:7001/

3.4、创建用户服务模块user-service在这里插入图片描述

3.4.1、配置pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.hqyj</groupId><artifactId>SpringCloud</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>user-service</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--devtools 开发工具--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><!--Spring Boot 测试--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--junit 测试--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><!-- 修改后立即生效,热部署 --><dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId><version>1.2.8.RELEASE</version></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>com.hqyj</groupId><artifactId>common-api</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies></project>

3.4.2、配置application.yml

server:port: 8001
spring:application:name: user-service  #微服务名称
eureka:client: #将客户端注册到 eureka 服务列表内service-url:defaultZone: http://localhost:7001/eureka  #这个地址是 7001注册中心在 application.yml 中暴露出来额注册地址 (单机版)

3.4.3、启动user-service

创建UserApplication.java启动文件

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication
@EnableDiscoveryClient
public class UserApplication {public static void main(String[] args) {SpringApplication.run(UserApplication.class,args);}
}
3.4.3.1、编译user-service

在这里插入图片描述
在这里插入图片描述

3.4.3.2、运行UserApplication.java文件

在这里插入图片描述

3.4.3.3、测试

http://localhost:8001/user/userInfoList

3.5、查看编译后的包

在这里插入图片描述
在这里插入图片描述


小结

Eureka 作为Netflix 公司开发的一款开源的服务注册与发现组件,还是十分经典的。在服务注册与发现这一块,也是十分优秀,有兴趣的同学可以去下载Eureka的源码研究一下,看看Eureka是如何实现服务注册,调用端是如何发现服务并调用,最后再看看Eureka里同一个服务多台机器实例是如何实现负载均衡调用的。

http://www.hrbkazy.com/news/44727.html

相关文章:

  • 天元建设集团有限公司欠薪问题重庆seo教程搜索引擎优化
  • 网站建设报告模板软文案例大全300字
  • 南昌专业做网站公司外贸推广是做什么的
  • 跳转到另一个网站怎么做百度网络营销app
  • 苏宿工业园区网站建设成功案例湖南网站建设推广优化
  • 做网站去哪找客户企业文化的重要性
  • 台州网站优化公司百度搜索关键词排名
  • wordpress支付可见公众号收款口碑优化
  • 企业建站公司案例写文章在哪里发表挣钱
  • wordpress下载的主题怎么启动百度seo搜索营销新视角
  • oss静态网站托管旅游新闻热点
  • 西安免费做网站公司建立网站的流程
  • 一流的品牌网站建设百度官网优化
  • 仿win8 网站网站建网站建设网站
  • 个人网站开发用什么语言网络推广引流是做什么的
  • 做网站用什么软件热点营销案例
  • 做企业网站多少钱小程序开发公司十大排名
  • 爱站网seo查询快速优化排名公司推荐
  • 营销一型网站建设公司阿里云域名
  • 如何判断一个网站是否用织梦建设的五年级上册优化设计答案
  • php做网站时间代码信息发布推广方法
  • 网站短信验证怎么做的东莞网络优化调查公司
  • 网站推送怎么做的关键词优化方法
  • 邯郸推广公司灰色seo关键词排名
  • 怎么增加网站的外链杭州seo整站优化
  • 做网站推广的方法有哪些360优化大师官方下载
  • 网站域名怎么做分录企业网站托管
  • 有名做网站公司淘宝指数查询
  • 博客类网站建设毕业论文网站制作公司官网
  • 网站开发发展趋势2018百度知道小程序