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

个人网站备案代理以前在线做预算的网站

个人网站备案代理,以前在线做预算的网站,哪里有做网站的教程,自助建网站不需要域名SpringCloud 基本概念 系统架构 我们之前做的所有的项目都属于单体架构#xff0c;下面我们将要学习更适合大型项目的分布式架构 单体架构#xff1a; 将业务的所有功能几种在一个项目中开发#xff0c;打成一个包部署。 优点#xff1a;架构简单、部署成本低 缺点下面我们将要学习更适合大型项目的分布式架构 单体架构 将业务的所有功能几种在一个项目中开发打成一个包部署。 优点架构简单、部署成本低 缺点耦合度高 分布式架构 根据业务功能对系统进行拆分、每个业务模块作为独立项目开发称为一个服务。 优点降低服务耦合、有利于服务升级拓展。 缺点架构复杂、运维、监控、部署难度高。 微服务 微服务是一种经过良好的架构设计的分布式架构方案。 微服务架构特征 单一职责微服务拆分粒度更小每一个服务都对应唯一的业务能力做到单一职责。面向服务微服务对外暴露业务接口自治团队独立技术独立数据独立部署独立。隔离性强服务调用做好隔离、容错、降级避免出现级联问题。 级联问题常涉及数据的关联性操作引发的一系列连锁变化。 微服务结构 最知名的两种技术架构SpringCloud、阿里巴巴Dubbo SpringCloud集成了各种微服务功能组件。 并基于SpringBoot实现了这些组件的自动装配从而提供了良好的体验。 服务的拆分总结 不同微服务不能重复开发相同业务。微服务数据独立不能访问其他微服务的数据库。微服务将自己的业务暴露为接口供其他微服务使用。 远程调用 案例有两个服务分别是用户服务和订单服务要求根据订单ID查询订单的同时把订单所属的用户信息一起返回。 前面知道不同服务之间数据库互相独立所以我们就只能在后端再发一次http请求去调用其他服务的接口。 这就需要在Java代码中发起HTTP请求此处使用 RestTemplate RestTemplate 是 Spring 框架提供的一个同步的 HTTP 客户端工具用于在 Java 应用程序中发送 HTTP 请求并处理响应。 // 我们需要在配置类中声明一个Bean启动类也属于配置类所以此方法也可写入启动类中。/*** 创建RestTemplate并注入Spring容器* return*/ Bean public RestTemplate restTemplate(){return new RestTemplate(); }然后就可以在Java代码中发送请求了 Service public class OrderService {Autowiredprivate OrderMapper orderMapper;Autowiredprivate RestTemplate restTemplate;public Order queryOrderById(Long orderId) {// 1.查询订单Order order orderMapper.findById(orderId);String url http://localhost:8081/user/ order.getUserId();//使用RestTemplate发送请求第一个参数为请求地址第二个参数为序列化返回对象User user restTemplate.getForObject(url, User.class);order.setUser(user);// 4.返回return order;} }提供者与消费者 服务提供者:一次业务中被其它微服务调用的服务。(提供接口给其它微服务)服务消费者:一次业务中调用其它微服务的服务。调用其它微服务提供的接口) 服务调用关系 服务提供者暴露接口给其他微服务调用服务消费者调用其他微服务提供的接口提供者与消费者角色是相对的一个服务可以同时是服务提供者和服务消费者 Eureka注册中心 前面书写存在一些问题有硬编码的部分请求地址是写死了。 Eureka作用 消费者该如何获取服务提供者具体信息? 服务提供者启动时向eureka注册自己的信息eureka保存这些信息消费者根据服务名称向eureka拉取提供者信息 如果有多个服务提供者消费者该如何选择? 服务消费者利用负载均衡算法从服务列表中挑选一个 消费者如何感知服务提供者健康状态? 服务提供者会每隔30秒向 EurekaServer 发送心跳请求报告健康状态eureka会更新记录服务列表信息心跳不正常会被剔除消费者就可以拉取到最新的信息 在Eureka架构中微服务角色有两类: EurekaServer : 服务端注册中心 记录服务信息心跳监控 EurekaClient : 客户端 Provider:服务提供者例如案例中的user-service 注册自己的信息到 Eureka Server每隔30秒向Eureka Server发送心跳 consumer:服务消费者例如案例中的order-service 根据服务名称从Eureka Server拉取服务列表基于服务列表做负载均衡选中一个微服务后发起远程调用 搭建Eureka Server服务端 第一步创建新的Maven模块引入eureka-server依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId /dependency第二步为启动类添加启动注解 EnableEurekaServer SpringBootApplication public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class,args);} }第三步添加配置信息 server:port: 10086 spring:application:name: eurekaservereureka:client:service-url: #eureka地址信息defaultZone: http://127.0.0.1:10086/eureka 注册user-service 第一步在需要注册的服务中引入eureka-client依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId /dependency第二步在配置文件中添加配置 spring:application:name: userservereureka:client:service-url: #eureka地址信息defaultZone: http://127.0.0.1:10086/eureka同理也可以注册order-service 复制服务右键要copy的服务点击Copy Configuration 起一个名称然后在VM options中配置一个新的端口 -Dserver.port8082 服务拉取 服务拉取是基于服务器名称获取服务列表然后在对服务列表做负载均衡 修改OrderService的代码修改访问的url路径用服务器名代替ip、端口 String url http://userservice/user/ order.getUserId();在RestTemplate的Bean中添加负载均衡注解 Bean LoadBalanced public RestTemplate restTemplate(){return new RestTemplate(); }Ribbon负载均衡 Nacos注册中心 启动方式 startup.cmd -m standalone服务注册 在父工程中添加spring-cloud-alibaba的管理依赖 !-- Nacos 管理依赖-- dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion2.2.5.RELEASE/versiontypepom/typescopeimport/scope /dependency注释原有的eureka依赖添加nacos的客户端依赖 dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency修改配置文件 spring:application:name: orderservicecloud:nacos:server-addr: localhost:8848 #nacos服务地址Nacos服务分级存储模型 一个服务可以有多个实例大型公司会将实例部署在不同的服务器内。一个服务器机房就称为一个集群。 服务调用尽可能调用本地集群的服务跨集群调用延迟较高只有当本地集群不可访问时再去访问其他的集群。 配置服务集群属性修改yml spring:cloud:nacos:server-addr: localhost:8848 # Nacos 服务端地址discovery:cluster-name: HB # 配置集群名称机房位置如果想要设置优先访问同集群服务则需要修改负载均衡的IRule userservice: # 要做配置的微服务名称ribbon:NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则注意将user-service的权重都设置为1 小结NacosRule负载均衡策略 优先选择同集群服务实例列表本地集群找不到提供者才会到其他集群找并且会报警告确定了可用实例列表后再采用随机负载均衡挑选实例 根据权重负载均衡 实际部署中会出现这样的场景: 服务器设备性能有差异部分实例所在机器性能较好另一些较差我们希望性能好的机器承担更多的用户请求 Nacos提供了权重配置来控制访问频率权重越大访问频率越高。 在Nacos控制台可以设置实例的权重值点击编辑按钮 小结实例的权重控制 Nacos控制台可以设置实例的权重值0~1之间同集群内的多个实例权重越高被访问的频率越高权重设置为0则完全不会被访问 环境隔离 - namespace Nacos 中服务存储和数据存储的最外层都是一个名为namespace的东西用来做最外层隔离 注意服务只能访问当前命名空间无法访问其他命名空间的服务 Namespace 下有 Group 下有 Service / Data 新建命名空间在Nacos控制台中 - 命名空间 - 新建命名空间 在代码中修改服务到新的命名空间 spring:cloud:nacos:server-addr: localhost:8848 #nacos服务地址discovery:cluster-name: HB # 集群名称namespace: xxxx # 命名空间idNacos环境隔离 namespace用来做环境隔离每个namespace都有唯一id不同namespace下的服务不可见 临时实例与非临时实例 服务注册到Nacos时可以选择注册为临时或非临时实例通过下面的配置来设置 spring:cloud:nacos:server-addr:discovery:namespace:ephemeral: false #是否为临时实例临时实例宕机时会从nacos的服务列表中剔除而非临时实例则不会 与Eureka的对比 Nacos与eureka的共同点 都支持服务注册和服务拉取都支持服务提供者心跳方式做健康检测 Nacos与Eureka的区别 Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式非临时实例采用主动检测模式临时实例心跳不正常会被剔除非临时实例则不会被剔除Nacos支持服务列表变更的消息推送模式服务列表更新更及时Nacos集群默认采用AP方式当集群中存在非临时实例时采用CP模式;Eureka采用AP方式 AP 可用性保证 CP 一致性保证
http://www.hkea.cn/news/14298691/

相关文章:

  • 网站宣传模式企业黄页电话信息查询入口
  • 网站单页面制作网站服务器如何维护
  • 网站建设方案电商网站开发报告
  • 惠阳住房和建设局网站aspx网站架设教程
  • 好的做问卷调查的网站广告最多的网站
  • 做好网站盘龙区网络推广
  • 男女做那个网站动态图片江西商城网站建设公司
  • 信息网站设计方案wordpress 防止盗链
  • 苏州建站公司 诚找苏州聚尚网络网站登录界面用什么软件做
  • 韩国风格网站整站源码网页版qq登录入口版qq账号登录界面
  • 网站建设与管理就业方向珠海市香洲区建设局网站
  • 私人承接做网站多少钱wordpress腾讯视频插件
  • 招聘网站哪个好用济南自助建站系统
  • 室内设计网站模板建设网站需要备案吗
  • 网站开发一般学多久自己做视频网站 在优酷推广
  • wordpress如何修改字体seo推广联系方式
  • 网站制作首选 新鸿儒南康网站建设
  • 加大门户网站安全制度建设公司网站字体
  • 广东门户网站建设请打开app
  • 找i满洲做卖房广告不收费的网站公司网站突然404
  • 在东莞建公司网站网站建设于朦胧
  • 好的做外贸的网站有哪些一级域名网站里有二级域名
  • 如何在各个购物网站之间做差价网站建设制作设计seo优化珠海
  • 网站设计制作哪种快网络推广的几种方式
  • 做企业网站需要收费吗找做防水去那个网站
  • 可以做旅行行程的网站网站模板下载工具
  • 电脑网站手机版怎么做广告设计公司网
  • 坪地网站建设包括哪些海洋生态文明建设的网站名
  • 网站备案号怎么做超链接局域网 手机网站建设
  • 湖南昌华建设集团网站宝安网站设计流程