架构设计
文章平均质量分 60
lxb_champagne
这个作者很懒,什么都没留下…
展开
-
大型分布式服务解决方案系统性梳理(待完善)
大型分布式服务解决方案。原创 2022-01-13 13:38:13 · 376 阅读 · 0 评论 -
过往项目经验整理(搜索&存储)
1,防书籍重复入库,反作品抄袭; A,SimHash特征,计算海明距离,相对于标准向量计算余弦距离计算量小; B,基于Elastic Search的书库存量章节关键段落检索; C,基于Faiss的竞品章节向量检索; D,基于IP代理后的爬虫对百度搜索结果进行检索,并计算相似度;2,资金结算平台沙箱环境,变更可回溯性追踪; 背景:出现过这样的Case:在生产环境进行试算,并将试算数据发布出去; A,隔离环境细节。沙箱环境ECS服务器,ECS配置对DB的隔离访...原创 2022-01-13 13:36:43 · 815 阅读 · 0 评论 -
一次应用服务拆分架构改造过程
一次应用服务拆分架构改造过程。原创 2017-03-23 13:25:06 · 602 阅读 · 0 评论 -
基于Redis的伪流式计算统计PV
基于Redis的伪流式计算统计PV原创 2017-03-23 17:30:43 · 3248 阅读 · 0 评论 -
系统平台化需要应对和处理的技术问题
大型互联网系统平台化的主要挑战在于:大量的外部对接 批量数据处理能力服务的抽象、解耦和组合(SOA化)分布式要求是刚需,要求拆分大事务和数据的弱一致性消息驱动和消息中间件数据的并发处理能力,要求分库分表 灵活多变的各种规则定时任务调度问题,包括调度框架、并发控制、同步机制、工作流引擎等。消息驱动和消息中间件技术。服务接口定义,包括接口粒度、循环依赖、幂等等。批处理逻辑和框架,包括批转载 2017-03-23 09:46:17 · 748 阅读 · 0 评论 -
互联网理财产品代销平台业务架构设计
互联网金融系统业务架构。原创 2017-03-29 16:52:43 · 1969 阅读 · 0 评论 -
商品列表筛选排序规则可配置化管理
背景 全站若干关键位置有商品推荐位,推荐出来的商品会由于运营活动的调整,不同用户不同时间展示不同的商品。 在实际运营过程中,由于设计算法时考虑问题不能完全周到,展示出来的商品往往不完全是意图推荐的商品。 而这个时候如果需要调整算法的话也是不可能的,这就造成了用户流量的浪费。 产品需要解决几个问题: 1,推荐算法上线前可以试运行,可以原创 2017-03-21 19:07:11 · 3568 阅读 · 0 评论 -
三种处理缓存失效的策略
缓存过期失效时,需要从持久化层获取数据。从持久化层获取数据一般耗时较长,且CPU/内存消耗较高。参考了http://www.zrwm.com/?p=7265,处理缓存失效主要有三种方式,写了个Servlet对其进行了验证。1,getDataNoLock()。缓存失效时,所有没有获取到缓存的线程均去访问持久化层;2,getDataByThreadLock()。缓存失效时,由一个线程获得锁原创 2013-10-14 13:51:20 · 8645 阅读 · 0 评论 -
Nginx + Lua + 共享内存实现动态查询(简单例子)
Nginx 配置。 lua_package_path "/usr/local/share/luajit-2.0.2/jit?.lua;;"; lua_shared_dict devicedb 45m; location /query { default_type 'text/plain'; content_by_lua原创 2013-12-03 18:07:08 · 15554 阅读 · 0 评论 -
集群环境中利用Memcached CAS原子操作计数
利用Memcached CAS原子操作,确保集群/多线程环境汇总累加操作是有效的,而不会覆盖其他线程的累加结果。package org.pile.memcached;import java.io.IOException;import java.util.Random;import java.util.concurrent.atomic.AtomicInteger;import ja原创 2013-10-16 17:55:20 · 3446 阅读 · 0 评论 -
HTTP协议状态码大全
转自维基百科:http://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81所有状态码的第一个数字代表了响应的五种状态之一。目录 [隐藏] 1 1xx消息2 2xx成功3 3xx重定向4 4xx请求错误5 5xx服务器错误6 参考文献7 外部链接8 参见1xx消息 这一类型的转载 2013-10-14 11:06:46 · 1085 阅读 · 0 评论 -
前Nginx后Tomcat,使用SmartUpload上传组件可能造成CPU100%内存占用率冲高
Nginx与Tomcat之间的链路是比较固定保持的。这种方式可能造成浏览器客户端与Nginx断链后,Nginx转发给Tomcat的链路还保持。如果上传的文件体在HTTP消息中有损坏,可能造成SmartUpload组件读不到文件尾,又没有断链事件,程序就一直不停的循环读输入流(可能是空转,也可能真将输入读入内存),这就可能造成CPU占用率和内存占用率冲高。呵呵,由于一些底层机制的限制,JAVA也可能造成内存泄露的。原创 2011-03-02 13:24:00 · 1662 阅读 · 0 评论 -
我所了解到的一些因为程序效率引起的瘫局性故障
1,某局。平台改造后,某核心模块引入了多线程机制,意图改进吞吐量。但实际结果是由于线程竞争,吞吐率不升反降。一上线,某省该业务在访问量高峰期间直接瘫痪;2,某局。两节点通信,send message之后阻塞,tomcat线程处于blocked状态,结果逐渐把线程耗尽,最终没有线程响应请求,又全部瘫痪了;3,某局。发布的Android客户端,在请求服务器失败后,没有等待而是不停的while循原创 2011-08-10 16:58:09 · 1770 阅读 · 0 评论