ZooKeeper 是什么?ZooKeeper 是一个开源的分布式协调服务。它是一个为分布式应用提供一致性服务的软件,分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Zookeeper 保证了如下分布式一致性特性:
顺序一致性
原子性
单一视图
可靠性
实时性(最终一致性)客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上注册了监听器,这个监听器也...
Java集合类框架图
Java集合类框架的基本接口有哪些?总共有两大接口:Collection 和Map ,一个元素集合,一个是键值对集合; 其中List和Set接口继承了Collection接口,一个是有序元素集合,一个是无序元素集合; 而ArrayList和 LinkedList 实现了List接口,HashSet实现了Set接口,这几个都比较常用; HashMap 和HashTable实现了Map接口,并且HashTable是线程安全的,但是HashMap性能更好;
HashSet和TreeSet区别HashSet
不能保证元素的排列顺序,顺序有可能发生变化
不是同步的
集合元素...
Spring 介绍什么是spring?Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。Spring可以做很多事情,它为企业级开发提供给了丰富的功能,但是这些功能的底层都依赖于它的两个核心特性,也就是依赖注入(dependency injection,DI)和面向切面编程(aspect-oriente...
JAVA开发六大原则
单一原则 : 一个类或一个方法只负责一件事情
里斯替换原则: 子类不应该重写父类已实现的方法,重载不应该比父类的参数更少
依赖倒置原则: 面向接口编程.(面向接口更能添加程序的可扩展性)
接口隔离原则: 接口中的方法应该细分,要合理的隔离开不同的功能到不同的接口中.
迪米特原则: 高内聚低耦合
开闭原则: 对修改关闭,对扩展开放总结: 用抽象构建框架,用实现扩展细节抽象类和接口的对比
参数
抽象类
接口
默认的方法实现
它可以有默认的方法实现
接口完全是抽象的。它根本不存在方法的实现
实现
子类使用extends关键字来继承抽象类。如果子类不是抽象类的...
三高高并发高并发是现在互联网分布式框架设计必须要考虑的因素之一,它是可以保证系统能被同时并行处理很多请求,对于高并发来说,它的指标有:
响应时间:系统对进来的请求反应的时间,比如你打开一个页面需要1秒,那么这1秒就是响应时间。
吞吐量:吞吐量是指每秒能处理多少请求数量,好比你吃饭,每秒能吃下多少颗米饭。
秒查询率:秒查询率是指每秒响应请求数,和吞吐量差不多。
并发用户数:同时承载正常使用系统功能的用户数量。例如一个即时通讯系统,同时在线量一定程度上代表了系统的并发用户数。高性能什么是高性能呢?高性能是指程序处理速度非常快,所占内存少,cpu占用率低。高性能的指标经常和高并发的指标紧密相...
海量数据处理总结海量数据处理六种方法:
分而治之/hash映射 + HashMap统计 + 堆/快速/归并排序
多层划分
Bloom filter/Bitmap
Trie树/数据库/倒排索引
外排序
分布式处理之Hadoop/MapReduce1、分而治之/hash映射 + HashMap统计 + 堆/快速/归并排序适用范围:类似”出现次数最多前10”、”热门前10查询”、”频率最高前100”等跟频数排序有关问题步骤:
分而治之/hash映射:由于数据量过大,内存不足于存储所有数据,所以要需要将大文件(取模映射)化成小文件,逐个解决,最后汇总。
HashMap统计:当大文件转化了小文件...
1、Dubbo的架构原理Dubbo架构图
节点角色说明
节点
角色说明
Provider
暴露服务的服务提供方
Consumer
调用远程服务的服务消费方
Registry
服务注册与发现的注册中心
Monitor
统计服务的调用次数和调用时间的监控中心
Container
服务运行容器
调用关系说明
provider启动时,会把所有接口注册到注册中心,并且订阅动态配置configurators
consumer启动时,向注册中心订阅自己所需的providers,configurators,routers
订阅内容变更时,registry将基于长连接推...