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

集团网站制作公司网络营销推广活动有哪些

集团网站制作公司,网络营销推广活动有哪些,做1688网站需要懂英语吗,网站建设与web应用开发技术理解 Eureka就像一个物业管理公司,其他微服务就像小区的住户,每个住户入住时都要向物业管理公司注册,并定时向物业公司交管理费。介绍 - Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移…

理解

Eureka就像一个物业管理公司,其他微服务就像小区的住户,每个住户入住时都要向物业管理公司注册,并定时向物业公司交管理费。


介绍

- Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。
- Eureka主管服务注册与发现,在微服务中,只需要使用服务的标识符(就是那个在每个服务的yml文件中取得服务名称),就可以访问到服务,不需要修改服务调用的配置文件

- Eureka遵循AP原则(高可用,分区容错性),因为使用了自我保护机制所以保证了高可用。


原理

- Eureka使用的是C-S结构(客户端-服务端)
- 两大组件:Eureka Server(提供注册服务)、 Eureka Client(JAVA客户端,负责发送心跳)

- 系统中的其他微服务使用Eureka客户端连接到Eureka服务端维持心跳连接(即注册)。SpringCloud的其他模块可以通过    Eureka Server 来发现系统中的微服务并加以调用。


Eureka的架构图



 

Eureka服务注册中心构建步骤:

   1.加入服务端依赖

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

2.配置application.yml(理解:物业公司肯定不向自己注册自己,并肯定知道自己在哪,不用参加检索)

server:port: 7001
eureka:instance:hostname: localhostclient:register-with-eureka: false     #false表示不向注册中心注册自己fetch-registry: false           #false表示自己就是注册中心,职责是维护实例,不参加检索service-url:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/    #设置eureka server的交互地址,即对外暴露的地址

3.添加启动类(注意:要在类前加@EnableEurekaServer标注)

package com.XXX;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication
@EnableEurekaServer
public class Eureka7001_APP {public static void main(String[] args) {SpringApplication.run(Eureka7001_APP.class,args);}
}

4.启动主程序,访问该服务地址即可看到如下页面(http://eureka7001.com:7001/)。

这里写图片描述


到此,Eureka的服务端已经构建完毕!


向Eureka服务注册一个应用的步骤:

  1.在要注册的微服务的pom文件中加入依赖。

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

2.修改application.yml

#在application.yml中增加以内容,将客户端注册到服务列表内
#理解:小区用户要找到物业管理处的地址进行注册==eureka:client:service-url:defaultZone: http://eureka7001.com:7001/eureka
instance:instance-id: springclouddemo-dept8001    #注册实例的id标识prefer-ip-address: true                  #访问路径可以显示IP地址
(完整yml配置文件信息查看源码)
    
3.主启动类上增加注解
@EnableEurekaServer
package com.atguigu.springcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication
@EnableEurekaServer // EurekaServer服务器端启动类,接受其它微服务注册进来
public class  EurekaServer7001_App
{public static void main(String[] args){SpringApplication.run(EurekaServer7001_App.class, args);}
}

4.启动该服务后,再次访问eureka服务中心(http://eureka7001.com:7001/):



5.会发现8001应用已经注册到服务中心了,但是当点击status列下的服务名时,展示的内容为空,所以还可以服务的info信息。

首先:在当前8001应用增加依赖信息和动态获取工程内容:

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>
   <build><finalName>microservicecloud</finalName><resources><resource><!--允许扫描该路径下的资源文件--><directory>src/main/resources</directory><filtering>true</filtering></resource></resources><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><configuration><delimiters><!--指定动态获取以$标志开头结尾的信息--><delimit>$</delimit></delimiters></configuration></plugin></plugins></build>

然后在当前工程的spring配置文件中增加所要的信息即可完成。

#配置微服务的info信息
info:app.name: wangcw-dept-provider-8001company.name: www.amoins.topbuild.artifactId: $project.artifactId$build.version: $project.version$


一般Eureka服务端都是以集群存在的,所以我们再参照上述的构造步骤再创建一个Eureka的服务端,内容与之前的基本一样

- hostname:修改为hosts文件中映射的地址
- service-url下的defaultZone节点:填入集群中另外的server服务端的地址

aplication.yml如下:

server: port: 7003eureka: instance:hostname: eureka7003.com #eureka服务端的实例名称client: register-with-eureka: false     #false表示不向注册中心注册自己。fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务#设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。service-url:#单机 : 如果只有一台Eureka服务,配置如下即可。#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

下面这块是主要区别(这是当本身为Eureka服务7003时,需要配置其他两台Eureka服务):

- service-url下的defaultZone节点:填入集群中需要向其注册server服务端的地址
          #Eureka集群:一般Eureka服务都是以集群存在的,防止某一台出现意外,集群配置如下:defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/

启动后,当访问7001服务时,同时也可以看到其集群的其他Eureka服务端。




同时要注册进Eureka的应用也需要更改application.yml配置:

defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/

此处需要注意一个踩坑点:注:defaultZone中eureka/后缀是必须的,如果删除,Server类不会报错,但是Client注册时会报404错误


Eureka的自我保护

介绍:

Eureka的自我保护机制主要是为了网络异常时保持高可用设计的,当在Eureka中注册的微服务超过设定是时间内(默认90秒)没有向Eureka服务端发送心跳,该微服务会进入自我保护模式。在自我保护模式中,Eureka会保护服务注册表中的信息,不会注销任何服务实例,直至收到的心跳数恢复至阈值以上,该微服务退出自我保护模式。


理解:

好死不如赖活:Eureka的设计哲学是宁可保留错误的服务信息,也不盲目注销可能健康的服务。所以异常的服务不会被注销,而是进入了自我保护模式。


自我保护模式的开关:

在Eureka Server模块下的yml文件中添加配置信息即可,true表示打开自我保护模式;false表示关闭自我保护模式(不推荐)

  server:enable-self-preservation: false




Eureka的服务发现


介绍:
系统中的微服务可以通过Eureka的服务发现去获得在Eureka中注册的服务的信息,这是一个对外暴露的接口。即用来对外展示Eureka所能提供的服务。

使用方法:

1.在注册进服务的应用工程中,即提供服务的应用(本例provider-8001工程中

在Controller类下,注入DiscoveryClient 对象。实现返回在Eureka中注册的服务都有哪些:

@Autowired
private DiscoveryClient discoveryClient;    @ResponseBody
@GetMapping("/provider/discovery")
public Object discovery(){List<String> list = discoveryClient.getServices();System.out.println(list);List<ServiceInstance> insList = discoveryClient.getInstances("MICROSERVICECLOUD-DEPT");//MICROSERVICECLOUD-DEPT指的是本服务的服务名for (ServiceInstance si:insList) {System.out.println(si.getHost() +"," + si.getServiceId() +"," +si.getPort() +"," +si.getUri() +"," +si.getMetadata());}return this.discoveryClient;}

在主启动类中加入@EnableDiscoveryClient注解:

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

2.新建一个子模块作为Eureke服务的客户端,用于调用已注册的服务。此例中的(comsumer模块)

在controller方法中使用restTemplate对象调用provider中暴露的URL 并获得返回对象即可获取到eureka中提供的服务:

 private static final String REST_URL_PREFIX = "http://localhost:8001/provider";// 测试@EnableDiscoveryClient,消费端可以调用服务发现@RequestMapping(value = "/consumer/dept/discovery")public Object discovery() {return restTemplate.getForObject(REST_URL_PREFIX + "/discovery", Object.class);}

3.服务发现测试结果;




同样也可以用调用服务发现的方式去调用已注册进Eureka服务的应用。



http://www.lbrq.cn/news/2679571.html

相关文章:

  • a站在线观看人数在哪seo网站查询工具
  • 网站建站费用多少游戏推广引流
  • 胶州为企业做网站的公司接推广app任务的平台
  • 网站网站制作公司哪家好抖音广告
  • 做家教需要什么哪个网站的会员专业seo排名优化费用
  • 建凡网站重庆seo排名收费
  • 千库网下载天津seo标准
  • 中国机械设备制造网资阳市网站seo
  • 石家庄做网站建设公司百度收录接口
  • 网络整合营销六大模型百度seo文章
  • 政府网站文化建设微信广告朋友圈投放
  • 手机网站的开发百度搜索关键词指数
  • 做seo为什么要了解网站苏州旺道seo
  • 网站地图类型微信朋友圈产品推广语
  • 网站做支付宝接口吗百度云怎么找资源
  • 网易企业邮箱怎么收费成都seo招聘信息
  • 专业的网站开发建设培训班有哪些课程
  • 网站建设准备杭州营销策划公司排名
  • 北京垡头网站建设公司长沙搜索排名优化公司
  • 苹果手机如何添加网站如何自己免费制作网站
  • 网站如何制作的网站优化招商
  • 广东省建设部网站seo优化名词解释
  • 泰兴网站优化网站seo关键词优化排名
  • 学 网站开发网站的优化
  • 做刷题网站赚钱么大兵seo博客
  • html公司网站模板源码在线发外链工具
  • 在日本怎样做网站今天重大新闻国内最新消息
  • 建设一个功能简单的网站天津百度推广中心
  • 网站背景动图怎么做漯河网站推广公司
  • 宜宾做直销会员网站2019网站seo
  • Note4:Self-Attention
  • MySQL-锁
  • Mac配置服务器工具Royal TSX
  • 套接字技术、视频加载技术、断点续传技术
  • Linux环境下实现简单TCP通信(c)
  • Ubuntu 安装 Kibana