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

刷赞网站怎么做的楚雄市住房和城乡建设局网站

刷赞网站怎么做的,楚雄市住房和城乡建设局网站,临沂seo代理商,建设部资质申报网站前言 前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家#xff1a;https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言前言1、负载均衡1.1、服务端负载均衡1.2、客户端负载均衡 2、Ribbon实现服务…前言 前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言前言1、负载均衡1.1、服务端负载均衡1.2、客户端负载均衡 2、Ribbon实现服务间调用2.1、pom.xml配置2.2、application.yml配置2.3、bean配置类2.4、编写调用Eureka的代码2.4.1、定义用户服务接口2.4.2、编写用户服务实现类2.4.3、编写用户服务控制层代码2.4.4、统一返回结果2.4.5、统一异常处理 2.5、启动项目访问接口2.5.1、启动项目2.5.2、访问接口 前言 Spring Cloud Ribbon 是一套基于 Netflix Ribbon 实现的客户端负载均衡和服务调用工具其主要功能是提供客户端的负载均衡算法和服务调用。 1、负载均衡 负载均衡Load Balance 简单点说就是将用户的请求平摊分配到多个服务器上运行以达到扩展服务器带宽、增强数据处理能力、增加吞吐量、提高网络的可用性和灵活性的目的。 常见的负载均衡方式有两种服务端负载均衡、客户端负载均衡 1.1、服务端负载均衡 1.2、客户端负载均衡 2、Ribbon实现服务间调用 Ribbon 可以与 RestTemplateRest 模板配合使用以实现微服务之间的调用 示例 建立C端API工程customer-api 2.1、pom.xml配置 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.hqyj/groupIdartifactIdSpringCloud/artifactIdversion0.0.1-SNAPSHOT/version/parentartifactIdcustomer-api/artifactIdnamecustomer-api/namedescriptioncustomer-api/descriptionpropertiesjava.version1.8/java.versionmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependenciesdependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--devtools 开发工具--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependency!--Spring Boot 测试--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!--junit 测试--dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version/dependency!-- 修改后立即生效热部署 --dependencygroupIdorg.springframework/groupIdartifactIdspringloaded/artifactIdversion1.2.8.RELEASE/version/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId/dependencydependencygroupIdcom.hqyj/groupIdartifactIdcommon-api/artifactIdversion0.0.1-SNAPSHOT/version/dependency/dependencies/project2.2、application.yml配置 server:port: 80eureka:client:register-with-eureka: false #本微服务为服务消费者不需要将自己注册到服务注册中心fetch-registry: true #本微服务为服务消费者需要到服务注册中心搜索服务service-url:defaultZone: http://localhost:7001/eureka2.3、bean配置类 配置RestTemplate、开启负载均衡 import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate;/**** title bean配置类* desctption 配置RestTemplate、开启负载均衡* author kelvin* create 2023/5/11 14:33**/ Configuration public class ConfigBean {Bean //将 RestTemplate 注入到容器中LoadBalanced //在客户端使用 RestTemplate 请求服务端时开启负载均衡Ribbonpublic RestTemplate getRestTemplate() {return new RestTemplate();} }2.4、编写调用Eureka的代码 2.4.1、定义用户服务接口 import com.hqyj.common.model.UserInfo; import java.util.List;/**** title 用户服务 接口* desctption 用户服务* author kelvin* create 2023/5/11 14:22**/ public interface UserConsumerService {/*** 获取用户信息列表* return*/public ListUserInfo userInfoList();}2.4.2、编写用户服务实现类 import com.hqyj.common.model.UserInfo; import com.hqyj.customerapi.service.UserConsumerService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate;import java.util.List;/**** title 用户服务 实现类* desctption 用户服务* author kelvin* create 2023/5/11 14:22**/ Service public class UserConsumerServiceImpl implements UserConsumerService {private String REST_URL_PROVIDER_PREFIX http://USER-SERVICE;Autowiredprivate RestTemplate restTemplate;/*** 获取用户信息列表* return*/Overridepublic ListUserInfo userInfoList() {return this.restTemplate.getForObject(this.REST_URL_PROVIDER_PREFIX /user/userInfoList,List.class);} }2.4.3、编写用户服务控制层代码 import com.hqyj.common.model.UserInfo; import com.hqyj.customerapi.service.UserConsumerService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List;/**** title UserConsumerController* desctption 用户控制层* author kelvin* create 2023/5/11 14:22**/ RestController RequestMapping(/user) public class UserConsumerController {Autowiredprivate UserConsumerService userConsumerService;GetMapping(/userInfoList)public ListUserInfo userInfoList(){return userConsumerService.userInfoList();} }2.4.4、统一返回结果 在公共模块common-api里面添加DTO import lombok.Data;/**** title 统一返回格式类* param T* desctption 统一返回格式* author kelvin* create 2023/5/11 14:28**/ Data public class ResponseDTOT {/*** 返回编码*/private Integer code;/*** 统一返回消息*/private String message;/*** 统一返回数据体*/private T data;}2.4.5、统一异常处理 实现 ResponseBodyAdvice接口 import com.hqyj.common.dto.ResponseDTO; import lombok.extern.slf4j.Slf4j; import org.springframework.core.MethodParameter; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.server.ServerHttpRequest; import org.springframework.http.server.ServerHttpResponse; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;/**** title 统一异常处理类* desctption 统一异常处理* author ltf* create 2023/5/11 14:33**/ RestControllerAdvice(basePackages com.hqyj.customerapi.controller) Slf4j public class ControllerResponseAdvice implements ResponseBodyAdviceObject {Overridepublic boolean supports(MethodParameter returnType, Class? extends HttpMessageConverter? converterType) {//true为织入通知return true;}Overridepublic Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class? extends HttpMessageConverter? selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {ResponseDTOObject objectResponseDTO new ResponseDTO();objectResponseDTO.setCode(200);objectResponseDTO.setData(body);return objectResponseDTO;}/*** 统一异常处理* param e* return*/ExceptionHandler(value Exception.class)public Object exception(Exception e){log.error(系统异常,e);ResponseDTOObject objectResponseDTO new ResponseDTO();objectResponseDTO.setCode(500);objectResponseDTO.setMessage(系统异常);return objectResponseDTO;} }2.5、启动项目访问接口 2.5.1、启动项目 需要上一章节的2个项目先运行 2.5.2、访问接口 访问地址http://localhost/user/userInfoList
http://www.hkea.cn/news/14462470/

相关文章:

  • 上海门户网站制网络服务器配置与管理考试题
  • 手机参数网北京网站优化校学费
  • 专业网站建设效果显著百度推广话术全流程
  • 小米手机如何做游戏视频网站开发公司财务管理制度
  • 有没有那个的网站wordpress未能连接到ftp服务器
  • 西安网站设计制云南网站开发公司
  • 四川做网站的公司哪家好潍坊seo网站推广
  • 网站建设服务合同印花税深圳注册公司需要什么资料
  • 手机网站设计公司只找亿企邦医院 网站建设 新闻
  • 企业网站模板哪个好网站设计评级
  • 有什么可以做兼职的网站网站忧化技巧
  • 东莞商城网站建设哪里比较好贵州专业网站建设公司哪家好
  • 韶关建设局网站微信h5页面制作免费软件
  • 定州哪里可以做网站做线上网站需要钱吗
  • 模板网站建设信息第一装修网
  • 深圳四站合一网站建设电话找建筑师设计房子
  • 小说网站wordpress手机评分网站
  • 中高端网站建设公司鞍山网站制作的网站
  • wordpress建网站的优点qq飞车哪个公司开发的
  • 建一个网站需要多长时间各网站网络营销产品价格策略
  • 网站开发 外包中国广告设计网
  • 网站空间是虚拟机吗抖音代运营公司怎么找客户
  • 一个域名访问不同的网站vi设计收费
  • 做一个网站开发项目有哪些阶段网站备案大概多久
  • 北京建设信源资讯网站官网哪些广告平台留号码
  • 如何做后台网站增删改做类似淘宝的网站要多少钱
  • 网站建设的自查报告wordpress猜你喜欢
  • 建设环境工程技术中心网站怎么做好网站开发、设计
  • 时代设计网 新网站建一个动物网站怎么做
  • 口碑好的合肥网站建设成都网络推广哪家公司好