「小程序JAVA实战」zookeeper简介(71)

如果一个应用在操作自身,自身的删除和添加的方式很容易让自己知道。如果是小程序后端一个程序,web端一个程序,他们需要进行通信。如果彼此之间自动的一致呢。如果是数据库可以通过共用一个数据库的方式,如果是文件就要用到一个工具zookeeper了。

方式多种多样

  • Springboot开放接口,ssm调用其完成同步工作。

这样是有弊端的,耦合度比较高。

  • 使用MQ消息队列,生产者(SSM)调用消费者(Springboot)

这个可以达到解耦的方式

  • 使用Zookeeper,Springboot监听并且下载

使用springboot 将我们小程序的后端,去监听zookeeper的服务,如果我们ssm上传一个文件,就会像我们的zookeeper server,写入一个对象写入一个文本,springboot监听到这个动作,就会下载,像这种就像是一个集群,每个server就相当于一个节点,每个服务就会监听到我们的节点,当有节点的写入或者删除,springboot就会执行操作。

zookeeper 动物管理员

  • 俗语入门

动物园里面有很多的对象,大象,猪,蜜蜂(hadoop,pig,hive)搞过大数据的老铁对着应该都有所了解。当然zookeeper在分布式系统中也起到了非常大的作用,不仅仅是在大数据,在java中用到了很多,配合一些中间件,比如solr都是可以相互进行配合的。

  • 简介
  1. 中间件,提供协调服务
  2. 作用于分布式系统,发挥其优势,可以为大数据提供服务。
  3. 支持java,提供java和c语言的客户端接口api

什么是分布式系统

对外是隐形的,对外是显形的,内部的开发老铁肯定是知道有多少台机器,对于用户来讲我们只点一个按钮完成这个操作就可以了。

  • 很多台计算机组成一个整体,一个整体一致对外并且处理同一个请求
  • 内部的每台计算机都可以相互之间通信(rest/rpc)
  • 客户端到服务端的一次请求到响应结束会经历多台计算机(我们在网购的时候,下个单子,可以经历很多,订单服务,商品服务,支付服务。一连串的服务完成下单的所有流程,组成的整体的分布式系统)

zookeeper的常用java客户端

  • 原生api

使用起来相对麻烦,不是很方便。
超时重连,不支持自动,需要手动操作。
watch注册一次后会失效,只能注册一次,监听一次。
不支持递创建节点

  • zkclient

国外的IT高手合作开发的,只不过相对来说维护的频率不是很高,已经很久不维护了。使用的人比较少

  • Apache curator

非常好用的java客户端。
Apache的开源项目
解决watcher的注册一次就失效的问题
Api更加简单方便
提供更多提供方案并且实现简单:比如分布式锁。
提供常用的zookeeper工具类
编程风格更爽,函数式的编程

Apache curator如何创建的客户端

  • 创建重试策略 - retryPolicy

  • 创建客户端 - client

  • 初始化客户端

PS:下次通过代码的形式来说下,了解下如何创建客户端

概要介绍: 本门课程属于“Java分布式中间件大汇聚实战”系列课程,主要介绍了企业级项目中真实的应用场景的实现及主流的Java核心技术栈(Redis、RabbitMQ、Spring AOP、Redisson、ZooKeeper…)的实战等等。除此之外,还介绍了如何基于Redis设计并实战一款点赞系统(点赞、取消点赞、排行榜、用户中心、文章点赞用户列表…)可以说技术干货甚多,不仅可以巩固企业级应用系统的开发实战能力,相信在面试、跳槽涨薪方面也能带来相应的帮助! 课程内容: 传说中的金三银四、面试跳槽涨薪季已经来临,Debug特地为大家准备了一系列跟面试、跳槽、巩固核心技术栈相关的课程,本门课程属于第一季,其中的内容包括企业级项目中真实的应用场景实战、面试相关的技术点分享、主流的Java技术栈(Undertow、Redis、RabbitMQ、Spring AOP、Redisson、ZooKeeper…)实战等等。 除此之外,我们还基于Redis设计并实战了一款点赞系统,可以说技术干货甚多。在课程的最后,Debug给大家整理了一份最新的面向BAT大厂招聘 ~ 2020年程序猿最新的Java面试题(附带目录和答案),希望对各位小伙伴的成长有所帮助! 值得一提的是,本季课程实战的应用场景包括“日志记录”、“邮件发送”、“通告消息通知”、“短信验证码失效验证”、“会员到期自动提醒/到期前N天自动提醒”以及“点赞系统”的设计与实战,其大纲如下所示: 其中,涉及到的技术栈包括Spring Boot2.0、Mybatis、Undertow、Redis、RabbitMQ、Redisson、Spring AOP、 Java8…下面罗列出本门课程重点介绍的价格应用案例以及业务场景的实现流程图! (1)基于Spring的消息驱动模型实现日志的异步记录: (2)基于消息中间件RabbitMQ的消息队列实现日志的异步记录: (3)基于缓存中间件Redis的订阅发布机制实现商户公告消息通知: (4)基于Redis的Key失效与定时任务实现实现短信验证码的过期失效验证: 其他核心、典型的应用案例和业务场景的实战可以详细参考“课程目录”! 除此之外,我们还基于缓存中间件Redis设计并实战实现了点赞系统中的点赞功能模块,下面罗列出其中涉及到的相关功能模块的实战流程图: 其课程收益如下所示:
Java分布式中间件大汇聚实战第1季 套餐课程~SpringBoot2.0+Redis+RabbitMQ+Redisson+ZooKeeper+面试突击” 包含了几大重磅性课程,学员 可以根据自己的喜好 进行学习,一步一个脚印深入巩固消息中间件RabbitMQ、缓存中间件Redis 综合中间件Redisson 以及 分布式锁(ZooKeeper+Redisson+数据库级别锁...)的实现方式 1、SpringBoot2.0缓存中间件Redis技术入门与典型应用场景: 这是一门关于目前相当流行的分布式缓存中间件Redis相关技术栈的介绍与实战,目的在于带领各位小伙伴一起学习、攻克Redis,更好地巩固自己的核心竞争力;值得介绍的是,本课程在技术层面涵盖了中间件Redis的相关技术栈,比如数据结构String、List、Set、SortedSet以及Hash等等,除此之外,在设计并实战“抢红包系统”以及实战各种数据结构对应的应用场景期间,也使用了微服务、分布式相关的技术。包括SpringBoot2.x、Mybatis、热部署工具、二倍均值法、多线程并发编程、发送邮件等等 2、RabbitMQ实战视频教程 :本课程可以让学员零基础从官网的权威技术开发手册入手,学习掌握消息中间件RabbitMQ的各大专用词汇,之后会着重基于SpringBoot搭建的微服务项目实战RabbitMQ的各大知识要点,包括各大消息模型,异步解耦,异步通信发送邮件,业务服务模块解耦,死信队列实战以及死信队列实际业务场景实战等等 3、中间件Redisson实战视频教程: 介绍redisson相关的核心技术栈及其典型的应用场景,其中的应用场景就包括布隆过滤器、限流器、短信发送、实时/定时邮件发送、数据字典、分布式服务调度等等,在业界号称是在java项目里正确使用redis的姿势! 4、分布式锁实战视频教程 : 本课程将更深入的实战当前分布式系统、微服务架构下“高并发多线程访问共享资源”时如何实现分布式锁,控制对于共享资源的访问,其中涉及到的相关技术主要是各种分布式中间件:Redis、Zookeeper、Redisson等,还有数据库级别的乐观悲观锁实战,最后还实战了两大常见的业务场景: (1)重复提交 (2)抢单系统如CRM系统销售人员抢单场景 (可以自行扩充到 “抢微信红包”、“商城系统抢单”、“美团骑手、滴滴司机、货拉拉司机抢单”等业务场景!!!) 相信学习了这套视频教程之后,将会更加深入的巩固各位学员的微服务以及分布式知识体系!!! 5、Java分布式中间件大汇聚实战第一季(基于SpringBoot2.0+典型业务场景+点赞系统+面试突击) : 主要介绍了企业级项目中真实应用场景的实现及主流的Java核心技术栈(Redis、RabbitMQ、Spring AOP、Redisson、ZooKeeper…)的实战, 同时也介绍了基于Redis设计并实战一款点赞系统(点赞、取消点赞、排行榜、用户中心、文章点赞用户列表…)可以说技术干货甚多,不仅可以巩固企业级应用系统的开发实战能力,相信在面试、跳槽涨薪方面也能带来相应的帮助!值得一提的是,本季课程实战的应用场景包括“日志记录”、“邮件发送”、“通告消息通知”、“短信验证码失效验证”、“会员到期自动提醒/到期前N天自动提醒”以及“点赞系统”的设计与实战。 课程的最后,我们给大家整理了一份最新的面向BAT大厂招聘 ~ 2020年程序猿最新的Java面试题(附带目录和答案),希望对各位小伙伴的成长有所帮助!
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:上身试试 返回首页