摘要: 背景: 供应商系统是一套典型的saas系统,所以我们在使用Elasticsearch的过程中,也就遇到了如何把Elasticsearch中的索引也通过不同的供应商code也就是租户信息来区分来。 技术实现: 方案一:每个租户都有一套自己的Elasticsearch:这是最难管理的,并且需要大量的de 阅读全文
posted @ 2021-01-26 11:07 小杨ABC 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 修改nginx监听端口,修改http server下的listen节点值,由于本机80端口已经被占用,我改为监听8083端口。 listen 8083; 在http节点下添加upstream(服务器集群),server设置的是集群服务器的信息,我这里搭建了两个站点,配置了两条信息。 #服务器集群名称 阅读全文
posted @ 2021-01-26 11:05 小杨ABC 阅读(129) 评论(0) 推荐(0) 编辑
摘要: public int PrizeDraw(List<PrizeModel> source) { source = source.Where(_ => _.CouponCount > 0).ToList(); int re = -100; List<decimal> rateList = new Li 阅读全文
posted @ 2021-01-26 11:01 小杨ABC 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 背景: 上午产品说订单表有一条数据状态,下游没有同步,然后查一下数据行现在是什么状态,然后在更新一下。那我当然是徒手开始select了呀,因为知道id所以直接select where orderNo,顿操作猛如虎,然后执行了一秒多的样子。但是当我在第二次执行同样的sql,结果却一瞬间就返回了,嘿,这 阅读全文
posted @ 2021-01-26 10:58 小杨ABC 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 前言 前段时间,我将公司系统中的批量审单的功能进行了重构,用到了java的并发编程进行异步化处理,数据库的乐观锁机制处理多线程并发更新数据。其中批量审单的业务处理涉及到多种任务类型,对应不同的业务方法进行处理,比如转仓,转快递,添加赠品,删除赠品,拆分订单,批量驳回,批量作废等等,其中就用到了策略模 阅读全文
posted @ 2021-01-26 10:57 小杨ABC 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 当我们在考虑生成订单号的同时,我们也要考虑一下这么几个问题:第一,如何让你的订单号是趋势递增的,但是却有不是严格递增?第二,如何保证订单号的长度一致(考虑到数据库索引的优化,这里要是整数),第三个就是在并发的场景下如何保证正确性? 第一个问题,因为现在的系统都是基于分布式微服务的,因此生成订单号组件 阅读全文
posted @ 2021-01-26 10:54 小杨ABC 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 背景 公司的一套交易系统推广了一段时间了,用户量也逐渐上来了,当用户量起来了,各种奇葩的问题也就接踵而来了。早上来公司刚坐下,产品就说有个客户产生了两笔一样的订单,订单商品和金额都是一样的,并且订单的生产时间都只有几十毫秒的差别。好家伙,打开日志一开,果然在在两台服务器上看到一模一样的订单生成日志, 阅读全文
posted @ 2018-07-16 20:24 小杨ABC 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 前言: 在多线程并发编程的过程中,synchronized和volatile都扮演着重要的角色。其实呢,我们可以把volatile看做是一个轻量级的synchronized。volatile可以保证在多处理器开发中保证了共享变量的“可见性”。当一个线程修改一个共享变量时,另外一个线程能读到这个修改的 阅读全文
posted @ 2018-05-17 17:25 小杨ABC 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 最近的工作内容比较枯燥,就是根据运营小姐姐的需求,给她出一些不同维度的数据报表,那么提到报表,多多少少是离不开数据库写sql的,然后就是各种Left Join 呀,Inner Join 呀,子查询呀。然后在这个过程中,避免不了条件过滤的情况,当数据表的数据量大了起来,那执行一个sql可真的是要了我的 阅读全文
posted @ 2018-03-22 14:56 小杨ABC 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 背景 最近做一个报表,基础数据比较大,然后开了3个线程处理,然后分别向Map里面里面插入数据,这个的Map用的是HashMap,所以为了避免多线程安全性问题。需要在HashMap添加数据的地方要加一个锁。那么有人来说了,你可以用线程安全的CurrentHashMap啊,那你有没有思考过在多线程的环境 阅读全文
posted @ 2018-01-22 09:02 小杨ABC 阅读(171) 评论(0) 推荐(0) 编辑