Java设计模式-单例模式(Singleton Pattern)
单例模式概念
- 有且只有一个实例
- 必须自行创建这个实例
- 必须自行向整个系统提供这个实例
单例设计
单例的创建一般分为 饿汉式单例 、 懒汉式单例 。
饿汉式单例
1 | class EagerSingleton { |
- 有且只有一个实例
- 必须自行创建这个实例
- 必须自行向整个系统提供这个实例
单例的创建一般分为 饿汉式单例 、 懒汉式单例 。
1 | class EagerSingleton { |
1 | pip install selenium |
下载PhantomJS,ChromeDriver
1 | from selenium import webdriver |
修改当前maven项目pom.xml
1 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
- 单一职责原则:一个类只负责一个功能领域中的相应职责
- 开闭原则:软件实体应对扩展开放,而对修改关闭
- 里式代换原则:所有引用基类对象的地方能够透明地使用其子类的对象
- 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象
- 接口隔离原则:使用多个专门的接口,而不使用单一的总接口
- 合成复用原则:尽量使用对象组合,而不是继承来达到复用的目的
- 迪米特法则:一个软件实体应当尽可能少地与其他实体发生相互作用
单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。一个类只负责一个功能领域中的相应职责。
对于Storm,其核心概念有包括:
- Stream 数据流
- Spout 数据流
- Bolt 处理数据
- Tuple 数据单元
- Task 运行Spout或Bolt中的线程
- Worker 是运行这些线程中的进程
- Stream Grouping 规定了Bolt接受何种数据类型作为输入
- Topology 是Stream Grouping连接起来的Spout和Bolt节点网络
Tuple 是Storm中使用的最基本单元、数据模型和元组。Tuple就是一个值列表,Tuple默认值类型有:integer、float、double、long、short、string、byte、binary[byte[]]。如果需要使用其他类型,需要序列化该类型。
Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。参考 官方地址
1 | <parent> |
传统DBMS不是为快速连续地存放单独的数据单元而设计,而且也不支持持续处理,而持续处理是数据流应用的典型特征。一些方案采用MapReduce来处理实时数据流。但是尽管MapReduce做了实时性改进,也很难稳定地满足应用需求。这是因为Hadoop MapReduce框架为批处理做了高度优化,典型的是通过调度批量任务来操作静态数据,任务不是常驻服务,数据也不是实时流入。
1、数据采集
功能上保证可以完整的收集到所有日志数据,为实时应用提供实时数据;响应时间上要保证实时性、低延迟;配置简单,部署容易;系统稳定可靠等。
目前采集数据工具有: