随笔分类 - 大型项目
摘要:看下图的淘宝页面,可以看到搜索有多个条件及搜索产品,并且支持多种排序方式,例如按价格;其实这块有个特点,就是不管你搜索哪个商品他都是有分类的,以及他对应的品牌,这两个是固定的,但其它参数不一定所有商品都具有;这一块设计就涉及到动态变化数据的加载,设计是比较复杂的,这个可以在后面慢慢说,其实这次想分析
阅读全文
摘要:一、ES的安装 1、系统参数配置 修改vi /etc/security/limits.conf ,追加内容 soft nofile 65536 hard nofile 65536 修改vi /etc/sysctl.conf,追加内容 vm.max_map_count=655360 保存后执行命令 s
阅读全文
摘要:前面已经在代码中把缓存的增删改操作写好,但是这样写法有一个问题,缓存变更的触发时机是在Mapper方法被调用时才更新的,这个时候问题就出来了,问题就是我们现在把缓存操作都是植入在我们业务逻辑当中的,这个操作导致了耦合性太强,从设计层面来讲其实不太推荐使用这个方法。而且还有一个问题,如果有天业务发生变
阅读全文
摘要:在信息暴炸的时代,为了在项目中提高数据加载效率,缓存技术是必不可以少的,缓存技术存在于应用场景的方方面面。从浏览器请求,到反向代理服务器,从进程内缓存到分布式缓存。其中缓存策略,算法也是层出不穷,下面要说的就是一套如何实现一套可以对后端服务器形成最小压力的架构。 一、缓存的解析 借一下上一篇文章中的
阅读全文
摘要:一、掌握SKU和SPU关系 电商系统中涉及到商品时必然会遇到的几个概念,SPU、SKU、单品等。彻底搞懂和明白了这几个概念对设计商品表是十分必要的前提条件。 1.1、SPU:标准化产品单元 SPU = Standard Product Unit (标准化产品单元),SPU是商品信息聚合的最小单位,是
阅读全文
摘要:一、简介 这次项目是准备做一个电商项目,采用当前主流的微服务技术,技术栈是SpringCloud Alibaba,此次设计思路也很简单,当前端服务请求过来时先经过四层负载LVS,用过LVS的朋友应该知道LVS的并发量相对来说还是比较高的,可以达到400W左右;经过LVS后,LVS会把服务请求发送给七
阅读全文
摘要:一 、简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个
阅读全文
摘要:在电商项目中所有的访问都是通过首页访问进去的,那么首页门户的访问频率会是非常高的,用我们专业术语来说就是并发量高,这时问题就来了,并发量高我们在做程序时就要保证首页的抗压能力强,而且还要保证抗压的同时数据的加载速度还要保证也能高。这时就要说下OpenResty并发站点架构的思想了。 一、OpenRe
阅读全文
摘要:一、简介 MyBatis-Plus 是一个 Mybatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在。 官网文档地址: https://mp.baomidou.com/guide/ MyBatis-Plus 特性: https://mp.baom
阅读全文
摘要:一、Ceph Swift API接口开发 Swift是由Rackspace开发的用来为云计算提供可扩展存储的项目。专注于对象存储, 并提供一套REST风格的Api来访问, 与Ceph强一致性不同, 它是最终一致性。两者都是优秀的开源项目, 并无明显优劣之分,在使用场景上有所不同, 如果是专注于对象存
阅读全文
摘要:一、Ceph分布式存储 1.1、Ceph文件系统简述 Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。 Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛
阅读全文