知识图谱架构图
数据源:授权数据(用户允许我们去抓取的数据)、公开数据(如网上披露的黑名单数据)、第三方数据(别人提供的一些数据,通过API进行调用)、业务数据(用户填写到业务系统的数据,如一些个人信息)。
MySQL Binlog,它是MySQL自带的一种机制,MySQL的数据每次进行更新时,它就会把数据写入到Binlog中。也就是说Binlog是实时处理与离线增量导入架构数据的提供。
实时处理与离线增量导入架构:Canal server (中间件)-> Canal Client -> Kafka Producer->Kafka(消息队列)->Kafka Consumer->Neo4j Driver,最终写到Neo4j中。Neo4j中最开始并没有数据,所以需要数据初始化,也就是需要把业务数据写入到Neo4j中(MySQL Connector ->APOC)。
Resutful API向外提供服务(规则+Spark GraphX的算法)给一些业务系统。然后还会把数据写入到Spark GraphX中(在上面做一些算法相关的工作)。