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

免费的行情网站app大全下载高端网站案例欣赏

免费的行情网站app大全下载,高端网站案例欣赏,微信认证 网站,网络技术网站问题引入 在上一篇文章中,我们提到了 url 写死的情况,如果url 发生改变的话,那么我们的代码也要发生改变,不够灵活,那么我们该如何解决呢? 在微服务开发中,服务启动/变更时,向注册中…

问题引入

在上一篇文章中,我们提到了 url 写死的情况,如果url 发生改变的话,那么我们的代码也要发生改变,不够灵活,那么我们该如何解决呢?

在微服务开发中,服务启动/变更时,向注册中心报道,注册中心记录应用和 IP 的对应关系
调用方调用时,先去注册中心获取服务方的 IP,再去服务方进行调用

在这里插入图片描述

简单来说,注册中心可以理解为查话处,我们通过查话处输入你想要通话的地方,它就会提供具体的电话号码,你就不需要直接记住对方的电话号码了。

注册中心

注册中心主要有三个角色:

服务提供者:一次业务中,被其他微服务调用的服务,也就说提供接口给其他的微服务

服务消费者:一次业务中,调用其他微服务的服务,也就说调用其他微服务提供的结构

服务注册中心:用于保存 Server 的注册信息,当 Server 节点发生变更时,Registry 会同步变更,服务与注册中心使用一定的机制通信,如果注册中心与某服务长时间无法通信,就会注销该实例


服务注册:服务提供者在启动时,向 Registry 注册自身服务,并向 Registry 定期发送心跳包汇报其存活状态

服务发现:服务消费者从注册中心查询服务提供者的地址,并通过该地址调用服务提供者的接口,服务发现的一个重要作用就是提供服务消费者一个可用的服务列表

CAP 理论

CAP 理论是分布式系统设计中最基础,也是最为关键的理论

在这里插入图片描述

一致性【C】:这里的一致性是指强一致性。

可用性【A】:对所有的请求都会有响应,但是这个响应可能是错误的数据。

分区容错性【P】:在网络分区的情况下,系统依然可以对外提供服务。

强一致性:主库和分库,无论什么时候,对外提供的服务都是一致的,也就说如果主库的数据发生改变,在主库的数据没有同步到从库之前,是不会对外提供服务的,在提供服务的情况下,主库和从库的数据一定是同步的状态。
弱一致性:随着时间的推移,最终才能达到一致性,也就说主库和从库的数据即使没有进行同步,也对外提供服务,所以可能会导致响应的数据是错误的,但是这保证了可用性。

分区容错性主要体现在分布式系统中,如果一台机器挂机了,其他机器也能代替它工作,持续对外提供服务

在分布式系统中,P 【分区容错性】是一定要保证的,但是 C 和 A 只能二选一,所以我们的架构只能是 CP 架构或者是 AP 架构。

常见的注册中心

Zookeeper:Zookeeper的官方并没有说它是⼀个注册中心, 但是国内Java体系, 大部分的集群环境都是依赖Zookeeper来完成注册中心的功能.

Eureka: 是Netflix开发的基于REST的服务发现框架, 主要用于服务注册, 管理,负载均衡和服务故障转移.
官方声明在Eureka2.0版本停止维护, 不建议使用. 但是Eureka是SpringCloud服务注册/发现的默认实现,所以目前还是有很多公司在使用

Nacos:Nacos是Spring Cloud Alibaba架构中重要的组件, 除了服务注册, 服务发现功能之外, Nacos还支持配置管理, 流量管理, DNS,动态DNS等多种特性.

Eureka 使用

首先我们创建一个子项目或者一个单独的项目

然后引入 eureka-server 依赖:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

在 pom.xml 文件中还要引入下面的项目构建插件:

    <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

在配置文件中配置环境:

server:port: 10010
spring:application:name: eureka-server
eureka:instance:hostname: localhostclient:fetch-registry: false # 表示是否从Eureka Server获取注册信息,默认为true.因为这是一个单点的Eureka Server,不需要同步其他的Eureka Server节点的数据,这里设置为falseregister-with-eureka: false # 表示是否将自己注册到Eureka Server,默认为true.由于当前应用就是Eureka Server,故而设置为false.service-url:# 设置与Eureka Server的地址,查询服务和注册服务都需要依赖这个地址defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

编写启动类:

@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {public static void main(String[] args) {SpringApplication.run(EurekaServerApplication.class, args);}
}

我们启动服务之后,通过网络就会得到下面的资源,如果显示成功说明我们的 Eureka 注册中心搭建好了。

在这里插入图片描述


服务注册

引入 eureka-client 依赖:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

完善我们的配置文件:

spring:application:name: 项目的名称【自定义】
eureka:client:service-url:defaultZone: http://127.0.0.1:10010/eureka 【eureka 的 url】

当我们把需要注册的项目启动之后,可以在注册中心看到注册信息:
在这里插入图片描述

服务发现

首先和服务注册一样,先引入eureka-client 依赖 并且 配置好环境

然后就可以进行远程调用了,首先先注入 DiscoveryClient ,通过 DiscoveryClient 获取服务列表List< ServiceInstance> instances,然后获取第一个服务信息,直接 get(0),就可以获取到 我们需要的项目的注册信息了,后续即使这个项目的 IP 地址发生了改变,我们也可以找到它。

实例:

@Service
public class OrderService {@Autowiredprivate OrderMapper orderMapper;@Autowiredprivate RestTemplate restTemplate;@Autowiredprivate DiscoveryClient discoveryClient;public OrderInfo getOrderById(Integer orderId) {OrderInfo orderInfo = orderMapper.selectById(orderId);
//        String url = "http://127.0.0.1:9090/product/" + orderInfo.getProductId();//从 eureka 中获取服务信息List<ServiceInstance> instances = discoveryClient.getInstances("product-service");String uri = instances.get(0).getUri().toString();String url = uri + "/product/" + orderInfo.getProductId();ProductDetailInfo productDetailInfo = restTemplate.getForObject(url, ProductDetailInfo.class);orderInfo.setProductDetailInfo(productDetailInfo);return orderInfo;}
}

Eureka 和 Zookeeper区别

  1. Eureka是Netflix开源的项目,而Zookeeper是Apache开源的项目.
  2. Eureka基于AP原则,保证高可用,Zookeeper基于CP原则,保证数据一致性.
  3. Eureka每个节点都是均等的,Zookeeper的节点区分 Leader 和 Follower 或 Observer,也正因为这个原因,如果 Zookeeper 的 Leader 发生故障时,需要重新选举,选举过程集群会有短暂时间的不可用.

文章转载自:

http://3kbYRDjC.qqzdr.cn
http://sjWL8EBf.qqzdr.cn
http://2tXXJH1J.qqzdr.cn
http://QyUUH4Nq.qqzdr.cn
http://QrPsGJFM.qqzdr.cn
http://Y6nyIwWQ.qqzdr.cn
http://ZAF0MGLA.qqzdr.cn
http://joNLQ763.qqzdr.cn
http://6ARVSDY8.qqzdr.cn
http://HKvWAXsd.qqzdr.cn
http://MTH99wfw.qqzdr.cn
http://ZsPIMfvm.qqzdr.cn
http://RRpwE0ij.qqzdr.cn
http://qdZXJyz9.qqzdr.cn
http://qwZ9NGRP.qqzdr.cn
http://StCZoNIY.qqzdr.cn
http://DE8ZzN0G.qqzdr.cn
http://V9kT7L9C.qqzdr.cn
http://Uazda5X3.qqzdr.cn
http://fR6ZcOom.qqzdr.cn
http://0Edtvtf6.qqzdr.cn
http://stJuh7lF.qqzdr.cn
http://veyJ38cN.qqzdr.cn
http://omN4kwbk.qqzdr.cn
http://ruysAsWY.qqzdr.cn
http://gUcLTUnG.qqzdr.cn
http://fnCIuirW.qqzdr.cn
http://dxM7IGI0.qqzdr.cn
http://0JLB1yH0.qqzdr.cn
http://784ysOiK.qqzdr.cn
http://www.dtcms.com/wzjs/771627.html

相关文章:

  • 天河区pc端网站建设网站推广服务具体内容包括哪些
  • 做网站定金是多少钱实体店线上线下运营模式
  • 巩义服务专业网站建设百度竞价包年推广是怎么回事
  • 公司网上注册在哪个网站南京建设局网站首页
  • php做网站首页的代码网站开发必须要用js
  • 龙游县住房和城乡建设局网站兴义市住房和城乡建设局网站
  • 财经网站建设方案成都小程序商城开发
  • 怎么做才能提高网站权重网站seo自己怎么做
  • 新闻小学生摘抄西安百度首页优化
  • 徐州市丰县建设局网站石景山网站建设服务
  • 温州网站建设大全专业做网站的团队推荐
  • 四川手机响应式网站建设设计网页视频怎么下载到本地
  • 网站的运营与维护全国连锁十强婚纱摄影
  • 珠海网站建设公司怎么样如何建立自己免费网站
  • 做逆战网站的名字吗手机端自适应网站布局
  • 网站功能说明书宿州网站建设电话
  • 北京app网站开发黄石网站建设方案
  • 网站怎么做备份数据库哪里有网站建设哪家好
  • app手机网站建设黄wordpress金融插件
  • 公交公司网站建设的意义网站开发三剑客
  • wordpress设计类网站做网站网页的工作怎么样
  • 网站轮播效果怎么做不要随意去注册一个公司
  • 最新的网站建设架构网站建设总体流程
  • 找人一起做素材网站网商之窗高仿手表
  • 网站开发子账号餐厅网站开发背景
  • 做视频官方网站洛可可设计公司总部
  • 网站建设全包方案网站建设总体说明书
  • 建设网站员工招聘策划方案长沙网红小吃
  • 福清市建设局监督站网站wordpress站点描述
  • 建设网站破解版网站建设需要哪些内容