Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

询问几个问题。 #1

Closed
cmp-cc opened this issue Dec 26, 2018 · 4 comments
Closed

询问几个问题。 #1

cmp-cc opened this issue Dec 26, 2018 · 4 comments

Comments

@cmp-cc
Copy link

cmp-cc commented Dec 26, 2018

@D2C-Cai
感谢你对开源社区做出的贡献,我相信这个项目,我想提问几个问题。

  1. 这里使用MongoDB作为存储的一部分,Mysql作为主存储库。 MongoDB的存储场景在什么地方,我看到部分人也选择结合Mysql+MongoDB做多数据源存储。

  2. Elasticsearch 作为搜索, 你会选择双写,还是同步。 如果是同步的话,ES同步主库(Mysql)的策略,你会怎么选,为什么?

  • elasticsearch-jdbc
  • logstash-jdbc
  • canal
  • go-mysql-elasticsearch

我不是来泼冷水的,真的是技术选型中的一些疑惑。

@D2C-Cai
Copy link
Owner

D2C-Cai commented Dec 27, 2018

  1. 仅仅是电商场景应用,关系型数据库Mysql,主要存业务数据,需要严格控制事务的,如订单,会员,商品等信息,Mysql面对体量大的数据查询压力巨大,高并发下容易挂,MongoDB支持体量大,便于查询,适合存放社交信息如评论啊,和一些用户操作埋点的数据,这些数据不严格要求事务,还可以存站点的内容文章等信息

  2. Elasticsearch存一些需要全站搜索聚合的数据,可直接同步冗余处理,可能原先Mysql+MongoDB里都有的数据,经过处理加工推导Elasticsearch里,比如京东的商品查询,品牌查询,分类查询啊,或者社交电商的部分关注啊,买家秀啊等查询,当然还能做一些操作日志聚合

@cmp-cc
Copy link
Author

cmp-cc commented Dec 27, 2018

嗯,谢谢你。

对于电商系统,ElasticSearch创建一个Index做为统一入口合适,还是分为多个Index合适。

关于Mysql+MongoDB处理加工到ES, 离线相对容易很多,如果实时同步,有符合的中间件吗?

非常感谢

@D2C-Cai
Copy link
Owner

D2C-Cai commented Dec 27, 2018

ElasticSearch的index,你可以查下官方文档,同一个索引下,文档量达到多少多少,搜索性能下降比例,其实很简单,按照业务分就好,商品相关的叫product-index,里边设置不同的type,会员相关的,收藏夹啊关注啊粉丝互动啊,叫member-index,其他类推,最好按照业务分,这样每个index下几百万几千万数据,没什么压力的。
至于数据同步问题嘛,目前我的处理是写到业务里,业务有修改,增加,删除触发ElasticSearch内数据的变更,这种同步中间件基本没有吧,反正我是不知道。
我是这个“D2C全球好设计”这个电商app后端的主负责,我们从单机项目,dubbo的SOA,到现在的微服务,大概凑活,只能说尽量学习阿里啊京东的解决方案,肯定没人家专业

@cmp-cc
Copy link
Author

cmp-cc commented Dec 27, 2018

很中肯,很受用。 持续向你学习,谢谢你的回复。

未来消费升级,品味升级。设计师电商会越来越好。祝愿D2C越来越好。

@cmp-cc cmp-cc closed this as completed Dec 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants