笔者以前在电商公司,我们需要在8月18号做大促活动,我们会提前一天给所有的用户推送活动信息,且需要根据用户画像生成不同的推送内容。当时我们总共有80万用户左右。经测试,通过Spring Task和分布式锁,单台机器同时开启5个线程,执行时间需要27个小时左右,即便开10个线程,需要14个小时左右,显然执行时间过长。
通常一个系统只需要连接一个数据库就可以了。但是在企业应用的开发中往往会和其他子系统交互,特别是对于一些数据实时性要求比较高的数据,我们就需要做实时连接查询,而不是做同步。这个时候就需要用到多数据源。
而在埋点的需求当中,“多参数事件”的埋点又是比较常见的一种类型,当然,这个名词是友盟平台上这么称呼,在其他平台也有本质上相同但名称不同的埋点方式。那既然是“多参数事件”,首先冒出来的疑问,就是到底什么是多参数呢?
以前经常用学生问我:产品经理需要懂技术吗?如果不懂技术,怎么跟开发交流?
做产品就跟谈恋爱一样,无时无刻都是在猜测用户的心思,然后想方设法去迎合用户的洗好。在电商产品里面,最经典的业务场景莫过于“猜你喜欢”这个功能了。似乎不做“猜你喜欢”都不好意说自己是个合格的电商产品。那么,这个已经烂大街的“猜你喜欢”是如何实现的呢?
市场上的产品经理五花八门,刚入行和想入行的同学可能会有这样的疑惑:到底该如何对产品经理进行分类,方便我根据自己的爱好和特长进行选择呢?今天我将从三个角度进行说明。
提到缓存,想必每一位软件工程师都不陌生,它是目前架构设计中提高性能最直接的方式。缓存技术存在于应用场景的方方面面。从网站提高性能的角度分析,缓存可以放在浏览器,可以放在反向代理服务器,还可以放在应用程序进程内,同时可以放在分布式缓存系统中。
自SpringCloud问世以来,微服务以席卷之势风靡全球,企业架构都在从传统SOA向微服务转型。然而微服务这把双刃剑在带来各种优势的同时,也给运维、性能监控、错误的排查带来的极大的困难。