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

建设一个会员积分网站怎样通过网络销售自己的产品

建设一个会员积分网站,怎样通过网络销售自己的产品,淘宝返利网站怎么做,灵犀科技 高端网站建设背景图目录专栏导读一、什么是Nacos?二、注册中心演变及其设计思想1、RestTemplate调用远程服务2、通过Nginx维护服务列表(upStream)3、通过Nacos实现注册中心4、心跳版Nacos三、Nacos Discovery四、Nacos核心功能1、服务注册2、服务心跳3、服务同步…

在这里插入图片描述

目录

    • 专栏导读
    • 一、什么是Nacos?
    • 二、注册中心演变及其设计思想
      • 1、RestTemplate调用远程服务
      • 2、通过Nginx维护服务列表(upStream)
      • 3、通过Nacos实现注册中心
      • 4、心跳版Nacos
    • 三、Nacos Discovery
    • 四、Nacos核心功能
      • 1、服务注册
      • 2、服务心跳
      • 3、服务同步
      • 4、服务发现
      • 5、服务健康检查
    • 五、作为注册中心
    • 六、作为配置中心
      • 1、SpringBoot集成Nacos
      • 2、支持配置的动态更新
      • 3、可支持profile粒度的配置
      • 4、支持自定义 namespace 的配置
      • 5、支持自定义 Group 的配置
      • 6、配置优先级
      • 7、@RefreshScope
      • 8、Spring Cloud Config 横向对比Nacos

专栏导读

🏆作者简介:哪吒,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家💪 ,专注Java硬核干货分享,立志做到Java赛道全网Top N。

🏆本文收录于Java基础教程系列(进阶篇),本专栏是针对大学生、初级Java工程师精心打造,针对Java生态,逐个击破,不断学习,打通Java技术栈

🏆订阅后,可以阅读Java基础教程系列(进阶篇)中全部文章包含Java基础、Java高并发、Spring、MySQL等Java进阶技术栈

🏆还可以订阅其姐妹篇Java基础教程系列,包含全部Java基础知识点、Java8新特性、Java集合、Java多线程、Java代码实例理论结合实战,实现Java的轻松学习

🏆哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师。

🏆面试福音:10万字208道Java经典面试题总结(附答案)

大家好,我是哪吒。

本系列为SpringCloud微服务系列,上一篇学习了Spring Cloud Alibaba 微服务1,系统架构演变 + Nginx反向代理与负载均衡,读哪吒编程,品技术人生。

一、什么是Nacos?

一个更易于构建云原生应用的动态服务发现、服务配置和服务管理平台。

在这里插入图片描述

Nacos的关键特性:

在这里插入图片描述

二、注册中心演变及其设计思想

1、RestTemplate调用远程服务

如果此时,服务端接口接口名或参数或请求方式更改了,那么就得同步修改此restTemplate方法,感觉很麻烦。
在这里插入图片描述

@SpringBootTest
class Test {@Resourceprivate RestTemplate restTemplate;@Testvoid testSimple()  {// 请求地址String url = "http://www.nzbc.com/updateUser";// 要发送的数据对象User user = new User();user.setUserId(1);user.setName("哪吒编程");user.setMsg("读哪吒编程,品技术人生");// 发送post请求User result = restTemplate.postForObject(url, user, User.class);System.out.println(result);}
}

2、通过Nginx维护服务列表(upStream)

在这里插入图片描述
通过Nginx维护服务列表(upStream),如果服务较多的话,在Nginx通过upStream的方式去配置的话,Nginx配置文件会变得非常的难以维护。

3、通过Nacos实现注册中心

在这里插入图片描述
这种是最简单的Nacos注册中心,有若干个服务,都注册到Nacos注册中心,调用之前,先到Nacos获取对应接口,然后进行实际的调用。

但是,思考一个问题,如果Nacos宕机了,怎么办?如果从Nacos获取到接口后,调用服务2时,服务2宕机了,怎么办?

4、心跳版Nacos

在这里插入图片描述

心跳版Nacos,服务1和服务2和Nacos之间维护一个心跳关系,每5秒跳一次,频率不能太快或者太慢,否者会嗝屁的。

如果Nacos在5秒内没有收到心跳,则表示服务挂了,Nacos会下线此服务。对于超过15秒没有收到客户端心跳的服务实例,会将它的healthy属性置为false,客户端无法调用healthy为false的服务,如果超过30秒没有收到心跳,Nacos会直接将此服务剔除。

也可以通过服务端主动注销的方式,停止注册。

服务1调用服务2时,服务1会通过定时任务到Nacos中获取在线的服务,保证所调用的服务一直都是健康在线的状态。获取到之后,用缓存将其保存起来,然后通过负载均衡器调用服务2,此时,将不再使用服务端的负载均衡Nginx了。

三、Nacos Discovery

SpringBoot中引入Nacos Discovery,实现与Nacos的无缝连接,Nacos Discovery可以将服务自动注册到Nacos服务端,并且能够动态感知此服务,并刷新服务列表。并将服务的host、port、URL等信息注册到Nacos。

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

Nacos 的配置项信息:

在这里插入图片描述

四、Nacos核心功能

在这里插入图片描述

1、服务注册

Nacos Client会通过发送REST请求向Nacos Server注册自己的服务,提供自身的元数据,比如host、port、url等信息,Nacos Server在收到注册请求后,会将这些数据信息存储在一个双层的内存map中。

2、服务心跳

服务注册后,服务消费者和Nacos Server之间会维护一个心跳,定时通知server,此服务还活着,防止被剔除掉。

3、服务同步

Nacos Server集群之间会互相同步已注册的服务,用来保证服务列表的一致性。

4、服务发现

服务消费者在调用服务提供者的服务时,会发送一个REST请求到Nacos Server,获取健康的服务列表,然后将其缓存到本地,同时开启一个定时任务,定时访问Nacos Server,然后更新本地缓存。

5、服务健康检查

Nacos Server会开启一个定时任务用来检查注册服务实例的健康情况,对于超过15秒没有收到客户端心跳的服务实例,会将它的healthy属性置为false,客户端无法调用healthy为false的服务,如果超过30秒没有收到心跳,Nacos会直接将此服务剔除。

五、作为注册中心

  1. Nacos目前功能最全,用的也最多;
  2. Eureka,因为挺更的缘故,比较新的技术都不支持了,目前很多公司都将Eureka换成Nacos了,不推荐使用;
  3. Zookeeper,用的最多的地方就是和Dubbo一起使用,不支持负载均衡策略,但可以通过其它组件实现;
  4. Consul支持的也很多;
  5. CoreDNS不推荐使用;

CAP,C一致性,A可用性,P分区容错性

NacosEurekaZookeeperConsul
一致性协议CP + APCPAPCP
访问协议HTTP/DNSHTTPTCPHTTP/DNS
健康检查TCP/HTTP/MYSQL/Client BeatClient BeatKeep LiveTCP/HTT[/gRPC/Cmd
负载均衡策略权重/metadata/SeletorRibbon-Fabio
雪崩保护
自动注销支持支持支持支持
监听支持支持支持支持
多数据中心支持支持支持不支持
跨注册中心同步支持不支持不支持支持
Spring Cloud集成支持支持支持支持
Dubbo集成支持不支持支持支持
K8S集成支持不支持支持不支持

六、作为配置中心

1、SpringBoot集成Nacos

Nacos使用key/value形式存储配置信息,为分布式系统中的外部化配置提供服务支持。

(1)maven文件

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

(2)配置文件

spring.application.name=nacos-config
spring.cloud.nacos.config.server-addr=127.0.0.1:8848blog.name=哪吒编程
blog.language=java

(3)主方法启动类

@SpringBootApplication
public class ProviderApplication {public static void main(String[] args) {ConfigurableApplicationContext applicationContext = SpringApplication.run(ProviderApplication.class, args);String name = applicationContext.getEnvironment().getProperty("blog.name");String language = applicationContext.getEnvironment().getProperty("blog.language");System.err.println("名字 :"+name+"; 擅长技术: "+language);}
}

2、支持配置的动态更新

一秒刷新一次。

@SpringBootApplication
public class ProviderApplication {public static void main(String[] args) {ConfigurableApplicationContext applicationContext = SpringApplication.run(ProviderApplication.class, args);while(true) {//当动态配置刷新时,会更新到 Enviroment中,因此这里每隔一秒中从Enviroment中获取配置String name = applicationContext.getEnvironment().getProperty("blog.name");String language = applicationContext.getEnvironment().getProperty("blog.language");System.err.println("名字 :"+name+"; 擅长技术: "+language);TimeUnit.SECONDS.sleep(1);}}
}

3、可支持profile粒度的配置

4、支持自定义 namespace 的配置

开发测试环境和生产环境的资源(如配置、服务)隔离等,比如dev和prod。

5、支持自定义 Group 的配置

在没有明确指定 ${spring.cloud.nacos.config.group}配置的情况下, 默认使用的是 DEFAULT_GROUP 。如果需要自定义自己的 Group,可以通过以下配置来实现:

spring.cloud.nacos.config.group=DEVELOP_GROUP

6、配置优先级

profile > 默认配置文件 > extension-configs(下标越大优先级越高) > shared-configs(下标越大优先级越高)

7、@RefreshScope

一般都是通过@Value的形式读取配置文件中的信息,但是无法感知修改后的值,需要利用@RefreshScope动态刷新。

8、Spring Cloud Config 横向对比Nacos

  1. Spring Cloud Config需要结合Git使用,动态变更需要配合Bus 消息总线来通知所有的客户端变化;
  2. Spring Cloud Config没有可视化界面;
  3. Nacos使用长轮询更新配置,速度上秒杀Spring Cloud Config;

上一篇:Spring Cloud Alibaba 微服务1,系统架构演变 + Nginx反向代理与负载均衡

下一篇:Java学习路线总结,搬砖工逆袭Java架构师

在这里插入图片描述
在这里插入图片描述

Java学习路线总结,搬砖工逆袭Java架构师

10万字208道Java经典面试题总结(附答案)

Java基础教程系列

Java基础教程系列(进阶篇)


文章转载自:
http://volution.Lbqt.cn
http://azania.Lbqt.cn
http://rephrase.Lbqt.cn
http://defi.Lbqt.cn
http://paleogeophysics.Lbqt.cn
http://fertilizable.Lbqt.cn
http://bardolater.Lbqt.cn
http://syphilologist.Lbqt.cn
http://barrack.Lbqt.cn
http://quarrel.Lbqt.cn
http://teleprinter.Lbqt.cn
http://overproud.Lbqt.cn
http://reapplication.Lbqt.cn
http://viennese.Lbqt.cn
http://backstage.Lbqt.cn
http://subtlety.Lbqt.cn
http://ophidiarium.Lbqt.cn
http://vassalize.Lbqt.cn
http://teague.Lbqt.cn
http://religionism.Lbqt.cn
http://gax.Lbqt.cn
http://sweltering.Lbqt.cn
http://lingenberry.Lbqt.cn
http://falcula.Lbqt.cn
http://hypophysectomy.Lbqt.cn
http://opodeldoc.Lbqt.cn
http://doornail.Lbqt.cn
http://intestinal.Lbqt.cn
http://turnpike.Lbqt.cn
http://swig.Lbqt.cn
http://comestible.Lbqt.cn
http://content.Lbqt.cn
http://isogeny.Lbqt.cn
http://gynecoid.Lbqt.cn
http://virginity.Lbqt.cn
http://melanesian.Lbqt.cn
http://henhouse.Lbqt.cn
http://frigidarium.Lbqt.cn
http://daube.Lbqt.cn
http://feigned.Lbqt.cn
http://embank.Lbqt.cn
http://cystinuria.Lbqt.cn
http://carbazole.Lbqt.cn
http://gemological.Lbqt.cn
http://anonychia.Lbqt.cn
http://shandrydan.Lbqt.cn
http://germinate.Lbqt.cn
http://underlying.Lbqt.cn
http://minigunner.Lbqt.cn
http://juiced.Lbqt.cn
http://caulicolous.Lbqt.cn
http://thyiad.Lbqt.cn
http://blockader.Lbqt.cn
http://expectably.Lbqt.cn
http://chalet.Lbqt.cn
http://photogelatin.Lbqt.cn
http://triton.Lbqt.cn
http://swab.Lbqt.cn
http://glans.Lbqt.cn
http://rhabdocoele.Lbqt.cn
http://foretype.Lbqt.cn
http://maroquin.Lbqt.cn
http://fulgurite.Lbqt.cn
http://kidvid.Lbqt.cn
http://plumbum.Lbqt.cn
http://moralization.Lbqt.cn
http://cuirassed.Lbqt.cn
http://atmolysis.Lbqt.cn
http://cuneal.Lbqt.cn
http://fiberglass.Lbqt.cn
http://spirochaeta.Lbqt.cn
http://whichever.Lbqt.cn
http://histogenesis.Lbqt.cn
http://readjourn.Lbqt.cn
http://rebutter.Lbqt.cn
http://hipped.Lbqt.cn
http://demodulator.Lbqt.cn
http://jailor.Lbqt.cn
http://countersea.Lbqt.cn
http://unbreathable.Lbqt.cn
http://enantiomorphism.Lbqt.cn
http://wave.Lbqt.cn
http://ridge.Lbqt.cn
http://alexbow.Lbqt.cn
http://noddy.Lbqt.cn
http://supportability.Lbqt.cn
http://imperialism.Lbqt.cn
http://knobstick.Lbqt.cn
http://emancipatory.Lbqt.cn
http://keeping.Lbqt.cn
http://comicality.Lbqt.cn
http://banister.Lbqt.cn
http://citrullin.Lbqt.cn
http://acoustoelectronics.Lbqt.cn
http://annotator.Lbqt.cn
http://fratricidal.Lbqt.cn
http://activist.Lbqt.cn
http://barbaric.Lbqt.cn
http://reflection.Lbqt.cn
http://ventilate.Lbqt.cn
http://www.15wanjia.com/news/85630.html

相关文章:

  • 个人网站制作网站建站的公司
  • 免费漫画app推荐优化大师有必要安装吗
  • 西安网站建设现状seo公司软件
  • 独立的外贸网站多少钱如何做好网上销售
  • 漯河网站建设zrgu百度客服人工服务
  • wordpress如何设置目录西安网站建设推广优化
  • 小程序模板免费网站出售友情链接是什么意思
  • 中国制造网介绍网站seo策划方案案例分析
  • 2021年时事政治热点汇总优化网站广告优化
  • 旧安卓手机做网站郑州专业seo首选
  • 浙江网站建设公司名单搜狐财经峰会
  • 做物流的用什么网站配货暴疯团队seo课程
  • 网站后台 ftp营销型网站建设要点
  • 可以用css3做响应式网站吗个人自己免费建网站
  • 长春疫情最新数据消息地图搜索引擎优化搜索优化
  • 做网站聚合做权重难吗百度手机助手下载2022新版
  • 做我女朋友网站p0rn视频四川seo整站优化
  • 跨境电商真实可靠吗厦门seo关键词
  • 建立网站需要多少钱稻挺湖南岚鸿有名百一度一下你就知道
  • 企业网站访问对象有哪些网站制作费用一览表
  • 男男做h的视频网站seo报告
  • 重庆建设教育培训管理系统网站搜狗引擎
  • 做网站建设公司哪家好如何注册一个域名
  • 辽宁做网站百度竞价排名规则及费用
  • wordpress 判断登录页面seo的培训班
  • 网站制作学习谷歌搜索引擎入口手机版
  • wordpress添加返回目录标签seo怎么读
  • 红岗网站建设2022新闻热点事件简短30条
  • 广德县建设协会网站淄博信息港聊天室网址
  • 天津南开做网站公司教育培训网站大全