熟练掌握java语法,特性。
能使用微服务架构进行开发,非常熟练使用springboot、springcloud、mybatis等常用框架。
能使用常用关系型数据库(oracle、mysql)进行开发,也能使用nosql(redis、es、mongodb、neo4j)满足其他需求。
掌握各种中间件(rabbitmq、kafka、zk)进行数据共享和交换。
熟悉各种数据结构,设计模式。擅长使用rest风格提供接口。
公共元数据仓库
以cwm(公共仓库元模型)规范为基本方法论,建立各业务系统,中间件,数据库,甚至于操作系统,硬件设施之间的统一元模型,抽取元数据,从而使各单元之间能对一份数据达成共识。
数据库使用mysql+neo4j。其中mysql用于存储普通的配置信息,neo4j则用于存储元模型和元数据。
使用springcloud的分布式架构,分为meta-engine(元模型和元数据引擎)、manager-framework(管理框架)、collector(采集器)、query(元数据查询)。
因为neo4j采用了免费的社区版,没有集群功能,为了保证数据安全性。我在这套代码里加上了集群功能,neo4j随着meta-engine部署而部署,然后采用raft(分布式一致性协议),多数节点写入成功才成功。并且可以借此实现读写分离。自此,实现了高可用的系统共识查询。