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

哪种网站开发简单传奇免费网站模板下载

哪种网站开发简单,传奇免费网站模板下载,深圳公司网站设计哪家好,做企业宣传网站公司目录 服务治理服务治理介绍什么是服务治理相关方案 nacos实战入门搭建nacos环境安装nacos启动nacos访问nacos 将商品微服务注册进nacos将订单微服务注册进nacos订单服务通过nacos调用商品服务 实现服务调用的负载均衡什么是负载均衡代码实现负载均衡增加一个服务提供者自定义实… 目录 服务治理服务治理介绍什么是服务治理相关方案 nacos实战入门搭建nacos环境安装nacos启动nacos访问nacos 将商品微服务注册进nacos将订单微服务注册进nacos订单服务通过nacos调用商品服务 实现服务调用的负载均衡什么是负载均衡代码实现负载均衡增加一个服务提供者自定义实现负载均衡用ribbon实现负载均衡 基于feign实现服务调用什么是feignfeign的使用 服务治理 服务治理介绍 通过上一章的操作我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址(ip端口等硬编码到了代码中这种做法存在许多问题 一旦服务提供者地址变化就需要手工修改代码 一旦是多个服务提供者无法实现负载均衡功能 一旦服务变得越来越多人工维护调用关系困难 那么应该怎么解决呢这时候就需要通过注册中心动态的实现服务治理。 什么是服务治理 服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。 服务注册和心跳机制/续约在服务治理框架中都会构建一个注册中心每个服务单元向注册中心登记自己提供服务的详细信息并在注册中心形成一张服务的清单服务注册中心需要以心跳的方式去监测清单中的服务是否可用如果不可用需要在服务清单中剔除不可用的服务。 服务发现服务调用方向服务注册中心咨询服务并获取所有服务的实例清单实现对具体服务实例的访问。 相关方案 zookeeper zookeeper是一个分布式服务框架是Apache Hadoop的一个子项目它主要是用来解决分布式应用中经常遇到的一些数据管理问题如统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。 consul Consul是基于GO语言开发的开源工具主要面向分布式服务化的系统提供服务注册、服务发现和配置管理的功能。Consul的功能都很实用其中包括服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等特性。Consul本身只是一个二进制的可执行文件所以安装和部署都非常简单只需要从官网下载后在执行对应的启动脚本即可。 eureka Eureka是Springcloud Netflix中的重要组件,主要作用就是做服务注册和发现。但是现在已经闭源 nacos Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是Spring Cloud Alibaba组件之一负责服务注册发现和服务配置可以这样认为nacoseurekaconfig。 nacos实战入门 搭建nacos环境 安装nacos 下载地址https://github.com/alibaba/nacos/releases 下载zip版本解压缩 启动nacos 双击或命令行 cd nacos/bin startup.cmd -m standalone访问nacos 打开浏览器输入http://localhost:8848/nacos即可访问服务默认密码是nacos/nacos 如果有服务注册进来会显示在服务列表 将商品微服务注册进nacos 导包 dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependencyapplication.yml中添加nacos服务地址 cloud:nacos:discovery:server-addr: localhost:8848启动类注解 SpringBootApplication EnableDiscoveryClient public class ProductApp {public static void main(String[] args) {SpringApplication.run(ProductApp.class,args);} }启动服务观察nacos的控制面板中是否有注册上来的商品微服务 将订单微服务注册进nacos 导包配置启动类注解都同上 订单服务通过nacos调用商品服务 OrderController /*** 用nacos调用服务*/RequestMapping(/order/product2/{pid})public Order createOrder2(PathVariable(pid) Integer pid) {log.info(接收到{}号商品的下单请求接下来调用商品微服务查询此商品信息, pid);// 调用商品微服务查询商品信息ListServiceInstance instances discoveryClient.getInstances(service-product);ServiceInstance instance instances.get(0);Product product restTemplate.getForObject(http:// instance.getHost() : instance.getPort() /product/ pid, Product.class);log.info(查询到{}号商品的信息内容是{}, pid, JSON.toJSONString(product));// 下单/创建订单Order order new Order();order.setUid(1);order.setUsername(测试用户);order.setPid(product.getPid());order.setPname(product.getPname());order.setPprice(product.getPprice());order.setNumber(1);orderService.createOrder(order);log.info(创建订单成功订单信息为{}, JSON.toJSONString(order));return order;}浏览器访问测试http://localhost:8091/order/product2/2 实现服务调用的负载均衡 什么是负载均衡 通俗的讲负载均衡就是将负载(工作任务访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行。根据负载均衡发生位置的不同一般分为服务端负载均衡和客户端负载均衡。 服务端负载均衡指的是发生在服务提供者一方比如常见的nginx负载均衡 而客户端负载均衡指的是发生在服务请求的一方也就是在发送请求之前已经选好了由哪个实例处理请求。 我们在微服务调用关系中一般会选择客户端负载均衡也就是在服务调用的一方来决定服务由哪个提供者执行。 代码实现负载均衡 增加一个服务提供者 一个项目并行运行的第二种方式 编辑配置 - 添加新配置 - springboot 设置新名称如ProductApp2 设置启动类如ProductApp 修改端口号如虚拟机选项-Dserver.port8082 启动后可在nacos中看到增加了一个服务实例 自定义实现负载均衡 修改消费者中OrderController的代码 /*** 用nacos调用服务并自定义实现负载均衡*/RequestMapping(/order/product3/{pid})public Order createOrder3(PathVariable(pid) Integer pid) {log.info(接收到{}号商品的下单请求接下来调用商品微服务查询此商品信息, pid);// 调用商品微服务查询商品信息ListServiceInstance instances discoveryClient.getInstances(service-product);int i new Random().nextInt(instances.size());ServiceInstance instance instances.get(i);log.info(第{}台机器端口号是{},i1,instances.get(i).getPort());Product product restTemplate.getForObject(http:// instance.getHost() : instance.getPort() /product/ pid, Product.class);log.info(查询到{}号商品的信息内容是{}, pid, JSON.toJSONString(product));// 下单/创建订单Order order new Order();order.setUid(1);order.setUsername(测试用户);order.setPid(product.getPid());order.setPname(product.getPname());order.setPprice(product.getPprice());order.setNumber(1);orderService.createOrder(order);log.info(创建订单成功订单信息为{}, JSON.toJSONString(order));return order;}浏览器访问测试http://localhost:8091/order/product3/3 用ribbon实现负载均衡 添加LoadBalanced注解 SpringBootApplication EnableDiscoveryClient public class OrderApp {public static void main(String[] args) {SpringApplication.run(OrderApp.class,args);}BeanLoadBalancedpublic RestTemplate restTemplate(){return new RestTemplate();} }修改消费者的OrderController的代码 /*** 用nacos调用服务并用ribbon实现负载均衡*/RequestMapping(/order/product4/{pid})public Order createOrder4(PathVariable(pid) Integer pid) {log.info(接收到{}号商品的下单请求接下来调用商品微服务查询此商品信息, pid);// 调用商品微服务查询商品信息Product product restTemplate.getForObject(http://service-product/product/ pid, Product.class);log.info(查询到{}号商品的信息内容是{}, pid, JSON.toJSONString(product));// 下单/创建订单Order order new Order();order.setUid(1);order.setUsername(测试用户);order.setPid(product.getPid());order.setPname(product.getPname());order.setPprice(product.getPprice());order.setNumber(1);orderService.createOrder(order);log.info(创建订单成功订单信息为{}, JSON.toJSONString(order));return order;}浏览器访问测试http://localhost:8091/order/product4/1 如果想用默认的轮询以外的其他策略可在消费者的yml中加入以下配置 service-product: # 调用的提供者的名称ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule基于feign实现服务调用 什么是feign Feign是Spring Cloud提供的一个声明式的伪Http客户端它使得调用远程服务就像调用本地服务一样简单只需要创建一个接口并添加一个注解即可。 Nacos很好的兼容了FeignFeign默认集成了Ribbon所以在Nacos下使用Fegin默认就实现了负载均衡的效果。 feign的使用 导包 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency启动类加注解 EnableFeignClients(basePackages cn.ming.client) //如果是主内所在子包可以不用加basePackages但是最好加上调用接口 FeignClient(value service-product) //value用于指定调用nacos下哪个微服务 public interface ProductClient {// 商品信息查询RequestMapping(/product/{pid}) //FeignClient的value RequestMapping的value值 其实就是完整的请求地址Product getProductByPid(PathVariable(pid) Integer pid); }应用 /*** 用nacos调用服务并用feign实现带有负载均衡的调用*/RequestMapping(/order/product5/{pid})public Order createOrder5(PathVariable(pid) Integer pid) {log.info(接收到{}号商品的下单请求接下来调用商品微服务查询此商品信息, pid);// 调用商品微服务查询商品信息Product product productClient.getProductByPid(pid);log.info(查询到{}号商品的信息内容是{}, pid, JSON.toJSONString(product));// 下单/创建订单Order order new Order();order.setUid(1);order.setUsername(测试用户);order.setPid(product.getPid());order.setPname(product.getPname());order.setPprice(product.getPprice());order.setNumber(1);orderService.createOrder(order);log.info(创建订单成功订单信息为{}, JSON.toJSONString(order));return order;}浏览器访问测试http://localhost:8091/order/product5/4
http://www.hkea.cn/news/14288682/

相关文章:

  • 钓鱼转转网站在线生成软件五屏网站建设怎样
  • 天津品牌网站建设公司设计制作建筑模型教案
  • 棠下手机网站建设线下广告投放渠道都有哪些
  • 网站社区的建设网站建设进度及实过程
  • 精通网站建设 pdf微盘响应式网站源代码
  • 法律网站模板网络营销所学课程
  • 扁平化资讯网站模板东莞做网站 信科网络
  • 做明星个人资料网站100款软件app免费下载大全
  • 设计工作网站好扬州网站建设小程序
  • 淮南制作网站广告公司广告语
  • 做网站点子com域名续费一年要多少钱
  • 直播网站源码免费下载wordpress 内页插件
  • 开发小程序的平台seo竞价培训
  • 网页制作网站创建智能建站平台z
  • 一流的哈尔滨网站建设百度地图网站开发
  • asp.net 网站 方案做彩票网站用什么服务器
  • 网站平台建设技术基础野花视频直播免费观看7
  • 网站设计模板源码个人博客首页官网
  • 安徽省建设工程安全+协会网站网页设计与制作基础教程
  • 三峡建设网站wcf网站开发
  • 网站 模板 安装免费crm软件排名
  • 网站用ps下拉效果怎么做的免费制作小程序平台
  • 自适应文章网站模板网站推广免费 优帮云
  • 宁波网站建设科技有限公司模板网站是什么
  • 怎么样让百度搜到自己的网站为食堂写个网站建设
  • 高端网站建设公司有哪些项目淘宝网站设计价格
  • 网站优化自己做该怎么做网络推广加盟项目
  • 设计平台网站杭州的服装网站建设
  • 网站建设哪家质量好网络营销的内容主要包括哪些方面
  • 做整个网站静态页面多少钱中国最早做网站是谁