Zookeeper和正则表达式

NGINX

    1.反向代理    2.负载均衡    3.http服务器(包含动静分离)    4.正向代理

 高并发流量的控制

   1.缓存    2.降级        3.限流

    限流的方式:计数器,滑动窗口,漏桶,令牌

初始化实例化

    1.一个实例变量在对象初始化会被赋值几次?JVM为一个对象分配完内存之后,会给每一个实例变量赋予默认值,第一次;在声明实例变量的同时进行了赋值操作,则第二次;在实例代码块中又对变量初始化,则第三次;在构造函数中也初始化了,则第四次;

    2.类的初始化和类的实例化过程的异同?类的初始化是指类加载过程中的初始化阶段对类变量按照程序的意图进行赋值的过程;而类的实例化是指在类完全加载到内存中后创建对象的过程

ZooKeeper

 通用的无单点问题的分布式协调框架

   设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个原语集,并以一系列简单易用的接口提供给用户使用。

Zookeeper是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于ZooKeeper实现诸如数据发布/订阅,负载均衡,命名服务,分布式协调/通知,集群管理,Master选举,分布式锁和分布式队列等功能;

     常用场景: 用于担任服务生产者和服务消费者的注册中心;(服务生产者将提供的服务注册到Zookeeper中心,服务的消费者在服务调用的时候到Zookeeper查找服务,获取后再去调用服务生产者的内容 和数据;)

    为什么使用奇数台服务器构成Zookeeper集群:因为当3个和4个Server时,都同样最多只允许1个Server挂掉。

    1.为了保证高可用:采用集群;

    高吞吐和低延迟:将数据保存到内存中;

    高性能:在“读”多的应用型尤其高性能。“写”会导致所有服务器间同步状态;(读多于写是协调服务的典型场景)

    临时节点:当创建临时节点的客户端会话一直保持活动,瞬时节点就一直存在;(1.管理用户提交的数据2.为用户程序提供数据节点的监听服务)

Session:一个客户端连接是指客户端和服务器之间的一个TCP长连接; (能向Zookeeper服务器发送请求并接受相应,同时接收服务器的Watch事件通知)

Znode:数据节点(临时节点)

Watch:(事件监听器) 允许用户在指定节点注册Watcher,在事件触发时,服务端会将事件通知到感兴趣的客户端。

 特点:顺序一致性:同一客户端发起的事务请求,会按照顺序被应用

            原子性;单一系统映像:无论客户端连接到哪一个Zookeeper服务器上,其看到的服务端数据模型一致;

            可靠性:一旦一次更改请求被应用,更改的结果会被持久化;

集群角色介绍:典型模式:Master/Slave模式(主备模式)

使用:用作注册中心;Hadoop生态系统的医院;构建Zookeeper集群时,使用服务器最好是奇数台;

正则表达式

元字符:\w:匹配一个元素    \s 匹配人员空白符    \d 匹配数字        \b 匹配单词的开始或结束        ^ 匹配字符串的开始        $ 匹配 字符串的结束

    匹配有abc开头的字符串:\babc   ^abc

    匹配8位数字的qq号码:^\d\d\d\d\d\d\d\d$

    匹配1开头11位数字的手机号码:^1\d\d\d\d\d\d\d\d\d\d\d\d$

重复限定符  * 重复零次或多次        + 重复一次或多次        ? 重复零次或一次  {n}重复n次   {n,}重复n次或更多次  {n,m}重复n到m次

    匹配8位数字的qq号码:^\d{8}$

    匹配1开头11位数字的手机号码  : ^1\d{10}$

     匹配银行卡号是14-18位的数字: ^\d{14,18}$

     匹配以a开头,0个活多个b结尾的字符串: ^ab*$

分组:匹配字符串中包含多个0到多个ab开头:^(ab)*

转义:匹配以(ab)开头: ^(\(ab\))* 

条件或: 或条件处理: ^(130|131|132|1323)\d{8}$

区间:  限定0-9  [0-9]    限定A-Z 【A-Z】 限定某些数字:【165】

    ^((13[0-2])|(15[56])|(18[5-6])|145|176)\d{8}$

猜你喜欢

转载自blog.csdn.net/qq_21325705/article/details/84962347