DDD并不是一个新的概念,事实上,在十多年前,这一概念就被提出,只是没有得到广泛的应用而已,大家可以看下我们互联网系统的进化历程,应用从单体到微服务,数据从冷备热备到多活,开发方式从瀑布到敏捷,我们的系统变得更灵活,架构变得跟清晰扁平。但是我们只关注了系统层面的架构或者设计,而忽略了业务层面的设计,互联网的特点就是快,业务先跑起来再说,有问题以后再优化,再重构,结果就是业务越堆越多,架构越来越混乱,到最后谁都不敢再去重构这么一个臃肿的系统,这是我们在前期缺乏对业务的整体建模和思考的后果,尤其是对于复杂业务,这个时候大家开始寻求一种解决问题的方式,自然而然的将目光转向了DDD-领域驱动设计。
tomcat源码分析
基本概念
名称由来
:Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O’Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(英语公猫或其他雄性猫科动物)。而O’Reilly出版的介绍Tomcat的书籍(ISBN 0-596-00318-8)[1]的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只公猫。
Apache(Apache HTTP Server)只支持静态网页,但像php,cgi,jsp等动态网页就需要Tomcat来处理。 Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器
Apache是web服务器,Tomcat是应用(java)服务器
databus系统架构
Databus是一个低延迟、可靠的、支持事务的、保持一致性的数据变更抓取系统。由LinkedIn于2013年开源。Databus通过挖掘数据库日志的方式,将数据库变更实时、可靠的从数据库拉取出来,业务可以通过定制化client实时获取变更并进行其他业务逻辑。
Databus有以下特点:
数据源和消费者之间的隔离。
数据传输能保证顺序性和至少一次交付的高可用性。
从变化流的任意时间点进行消费,包括通过bootstrap获取所有数据。
分区消费
源一致性保存,消费不成功会一直消费直到消费成功
elasticsearch常用api
在es的日常使用过程中,有些频繁使用的,比较重要的api在这里罗列下来,一是为了使用时方便,二是为了做笔记,将使用过程中的一些问题,一些疑惑记录下来
databus安装教程
在最近学习databus的过程中,除了看源码,还有很重要的就是实操,databus搭建,测试,链接msyql,orcle,将整个系统跑起来,有助于源码的理解,下面以msyql为例,将整个流程执行一遍
zookeeper原理与使用
集群搭建
安装1
2[下载地址]("https://archive.apache.org/dist/zookeeper/")
解压 tar -zxvf zookeeper-3.4.5.tar.gz
配置文件1
2
3
4
5
6
7
8cd conf/
mv zoo_sample.cfg zoo.cfg
dataDir=/
dataLogDir=/
server.1=168.61.17.197:2881:3888
server.2=168.61.13.109:2881:3888
server.3=168.61.13.110:2881:3888
设置myid echo 1 > /dataDir/myid
运行1
2启动脚本 ./zkServer.sh start
查看状态 ./zkServer.sh status
四字命令
echo ruok|nc 168.61.13.109 2181
echo conf|nc 168.61.13.109 2181
cons,crst,dump,mntr….