第7章 框架、软件与中间件
7.1 对生态体系的认知
技术的生态体系:就是从底层基础设施,到运维,中间件,大数据平台,这些技术之间可以很好的衔接,比如监控系统和rpc中间件,消息中间件,数据库的衔接,
大数据平台和业务系统之间的衔接。从而让业务开发从技术问题中解脱出来,可以更好的服务业务。
7.2 框架
做web开发,mvc 框架。如Java的 J2EE,SSH,Spring MVC,MyBatis,Python的Django,PHP的Zend,Ruby的 Ruby on Rails。
7.3 软件与中间件
对于标准化的功能,会产生对应的开源软件和中间件。软件和中间件并没有一个绝对的界限,从操作系统层面来说,都是进程和线程的集合。
只是软件更加固化,不需要开发代码,主要是安装,配置,运维,比如 apache,nginx,mysql,redis等;中间件需要和业务代码进行结合,比如rpc中间件,数据库
分库分表中间件,需要在业务代码中嵌入相应的sdk。
网关:Nginx,HaProxy,Tengine
数据库:MySQL
缓存:Memcached,Redis,Redis Cluster
KV存储:Tair,Pika,LevelDB,RocksLB
分布式文件存储:TFS,MogileFS
分布式消息中间件:Kafka,RocketMQ,RabbitMQ
SOA服务中间件:Dobbo,Pigeon,Spring Cloud
Binlog监听中间件:Canal,Otter,Puma,Databus,RDP
分库分表中间件:MyCat,Zebra,TDDL
任务调度:Satern,Quartz,TBSchedule
实时监控:Cat
搜索引擎:ES,Lucence,Solr
规则引擎:Drools
工作流引擎:jBPM,Activiti