热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringCloud注册服务及负载均衡

SpringCloud怎样创建父子项目工程新创建一个Maven工程–勾选此处,点击finfish即可创建子项目,点击finish即可项目一使用Eur

Spring Cloud
怎样创建父子项目工程
新创建一个Maven工程–>勾选此处,点击finfish即可
在这里插入图片描述
创建子项目,点击finish即可
在这里插入图片描述

项目一 使用Eureka注册服务
1 搭建Maven父工程
在Eclipse中,创建一个Maven父工程cloud,并在工程的pom.xml中添加Spring Cloud的版本依赖等信息。
在这里插入图片描述
2 搭建服务端工程
在父工程cloud中,创建Maven子模块microservice-eureka-server作为服务端工程,该模块是一个基础的Spring Boot工程。
①添加依赖(microservice-eureka-server)
在这里插入图片描述
编写配置文件
在这里插入图片描述
修改服务端java代码
在这里插入图片描述
启动应用,查看信息
在这里插入图片描述
3 搭建客户端工程
①添加依赖(microservice-eureka-user)
在这里插入图片描述
编写配置文件在这里插入图片描述
修改客户端Java代码
在这里插入图片描述
启动应用,查看信息。完成上述配置后,分别启动服务器工程和客户端工程,并在浏览器中访问地址即可看到Eureka的信息面板中注册的服务信息
在这里插入图片描述
在这里插入图片描述
项目二 如何实现服务器间的调用
1 搭建订单服务工程
①在pom.xml中,添加spring-cloud-starter-eureka依赖
在这里插入图片描述
编写配置文件,在配置文件中添加Eureka服务实例的端口号,服务端地址等信息
在这里插入图片描述
创建实体订单类
在这里插入图片描述
在这里插入图片描述
创建订单控制器类,模拟编写一个通过id查询订单的方法
在这里插入图片描述
在引导类中添加@EnableEurekaClient注解
在这里插入图片描述
2 编写用户服务功能
①在microservice-eureka-user工程的引导类中,创建RestTemplate的Spring实例
在这里插入图片描述
创建用户控制器类,并在类中编写查询方法
在这里插入图片描述
3 启动服务应用,测试服务调用
分别启动服务注册中心应用,订单服务应用和用户服务应用,此时Eureka信息页面显示如下
通过浏览器访问地址http://localhost:8000/findOrdersByUsers/1(1表示用户id),浏览器显示如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
项目三 客户端负载均衡
1 Ribbon介绍
在这里插入图片描述
2 Ribbon的使用
①添加注解。在microservice-eureka-user工程引导类中的restTemplate()方法上添加@LoadBalanced注解
在这里插入图片描述
②使用服务实例名称。在用户服务实例的查询方法中,使用服务提供者(订单服务)的实例名称来执行已注册服务列表中实例的方法
在这里插入图片描述
③添加服务监听类。在microservice-eureka-order工程中创建一个用于服务实例端口的工具类ServiceInfoUtil
在这里插入图片描述
④添加输出语句。在订单控制器类OrderController的查询订单方法中,增加一行执行输出当前实例端口号的语句
System.out.println(ServiceInfoUtil.getPort());
⑤启动服务,测试应用。分别启动注册中心,用户服务和订单服务,然后修改订单服务端口号(此处用7902),再次启动一个订单服务后,Eureka信息页面注册信息如下
在这里插入图片描述
⑥当通过浏览器连续6次访问地址http://localhost:8000/findOrderByUser/1后,两个控制台如下图所示。
在这里插入图片描述
在这里插入图片描述


推荐阅读
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 本文详细探讨了几种常用的Java后端开发框架组合及其具体应用场景。通过对比分析Spring Boot、MyBatis、Hibernate等框架的特点和优势,结合实际项目需求,为开发者提供了选择合适框架组合的参考依据。同时,文章还介绍了这些框架在微服务架构中的应用,帮助读者更好地理解和运用这些技术。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • 本文详细介绍了如何在PHP中记录和管理行为日志,包括ThinkPHP框架中的日志记录方法、日志的用途、实现原理以及相关配置。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • Java Socket 关键参数详解与优化建议
    Java Socket 的 API 虽然被广泛使用,但其关键参数的用途却鲜为人知。本文详细解析了 Java Socket 中的重要参数,如 backlog 参数,它用于控制服务器等待连接请求的队列长度。此外,还探讨了其他参数如 SO_TIMEOUT、SO_REUSEADDR 等的配置方法及其对性能的影响,并提供了优化建议,帮助开发者提升网络通信的稳定性和效率。 ... [详细]
  • 利用 Python Socket 实现 ICMP 协议下的网络通信
    在计算机网络课程的2.1实验中,学生需要通过Python Socket编程实现一种基于ICMP协议的网络通信功能。与操作系统自带的Ping命令类似,该实验要求学生开发一个简化的、非标准的ICMP通信程序,以加深对ICMP协议及其在网络通信中的应用的理解。通过这一实验,学生将掌握如何使用Python Socket库来构建和解析ICMP数据包,并实现基本的网络探测功能。 ... [详细]
author-avatar
潇洒树春不_970
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有