网站首页 > java教程 正文
据记者了解,在7月30日下午,猎聘同道精英汇在杭州举办了主题为“大神教你Java新技术”的行业分享会,主办方邀请到了51信用卡架构师王霖,他从编码的角度入手,结合51信用卡具体案例,深入浅出的给参会者分享了多年的项目经验。
王霖,51信用卡架构师,毕业于杭电计算机系,十余年老码农。曾就职于淘宝、大众点评、东方财富网、IN等公司。
下面是经过整理的王霖演讲实录。
今天给大家的分享主要分四个部分:第一、“脚手架”; 第二、缓存; 第三、消息; 第四、存储。
51信用卡这边有比较完善的微服务框架,基于consul、springboot等开源技术研发。 在项目开发流程上,基于脚手架技术,前后端可以快速进入并行开发模式。
接下来是缓存,特别提下本地缓存。07年我在淘宝做商品类目系统的改造,那是淘宝最古老的中间件之一,整个淘宝的四级类目和网状的属性结构,有任何变更都直接推送到前端服务器上,然后在本地构建多种数据结构缓存起来。
所以在淘宝的搜索页面搜索商品,出来的商品类目路径和类目属性是完全不用访问数据库,远程缓存都不用,性能非常好。也会遇到内存占用过大的问题,推到每个机器上有占用300兆的堆内存,淘宝为此还搞了虚拟机堆外存储的技术避免这块被垃圾回收。回到51这边,也有业务数据在本地缓存的案例,前端业务对配置数据是只读的,只有运营有入口去修改这个配置。这种场景下用户对配置的变更是不敏感的,所以能依此设计非常通用的业务配置缓存系统。
这里涉及到十几个子项目,这个项目有几十万个配置项目,它会对接到运营的系统去调,核心是三个指标:Type(类型)、Key、Value。前端业务有很多需要这个配置项目是只读的,只有运营有权利去修改这个配置。这个案例有一个非常典型的特点,不同的用户对于配置的感知是未知的。
第三个是消息分发。我们大量使用Kafka,RabbitMQ。 用kafka实现ack是比较繁琐的,简单起见可以和rabbitmq混用,用kafka保证高性能,同时用rabbit保证消息一定被处理。
最后谈谈数据存储。51信用卡MySQL、MongoDB、cassandra、elasticsearch都在用。对于MySQL,注意事先考虑到运行期分表的策略,可以将要拆分的表的数据复制到另一张表上,然后可以将多余的hash不命中的数据删掉。 cassandra很适合日志型列很多的场景,我们用在操作日志、用户session等场景。 elastics要注意索引重建的代价,另外它的乐观锁和地理位置搜索功能我们也有使用案例。
据悉,主办方猎聘为了避免技术分享会过于枯燥和乏味,在分享的中间环节,增加了趣味游戏,既增加了互动性,又拉近了与行业大牛的距离。同时,把分享会推向了 高潮。猎聘相关人士告诉记者,线下分享会的成功举办,标志着猎聘作为招聘类网站的服务延伸,线上与线下的打通,也符合猎聘发展的战略,即打造职业发展平 台,而非仅是招聘网站。
猜你喜欢
- 2025-04-30 2025 及未来 RAG 趋势:深入解析四大创新技术
- 2025-04-30 AI 时代程序员生存指南:掌握这 3 个核心能力稳赢未来
- 2025-04-30 java好学吗?完全没经验能学会吗(java好学嘛)
- 2025-04-30 90%程序员不知道的Java流程控制优化技巧,让你的代码更高效!
- 2025-04-30 Java面试题: 项目开发中的有哪些成长?该如何回答
- 2025-04-30 Java17,有史以来最快 JDK(java 运行速度)
- 2025-04-30 深入解析Java虚拟机(JVM)底层原理
- 2025-04-30 京东大佬问我,java高级技术人员要掌握哪些技术呢?
- 2025-04-30 猎聘同道精英汇:嘉宾徐文伟分享分布式高并发Java架构
- 2025-04-30 JUnit5:Java单元测试框架的新宠儿
你 发表评论:
欢迎- 最近发表
-
- 多种负载均衡算法及其Java代码实现
- 输入www.baidu.com背后经历了啥?说清楚这个,已经超过90%的人了
- 优化MySQL:为什么你应该用 UNSIGNED INT 存储IP地址
- 实模式下CPU如何获取数据及指令(实模式寻址方式)
- java基础都在这了,小主们拿去吧(java基础是指什么)
- 盘点爬虫语言为何选择Python而不是Java
- 搭载Dubbo+Zookeeper踩了这么多坑,我终于决定写下这篇
- 网络协议之TCP/IP协议(面试必考内容) - javaEE初阶 - 细节狂魔
- 深夜报警!10亿次请求暴击,如何用Redis找出最热IP?
- VPN技术(IPsec/L2TP/SSLVPN/PPTP)学习笔记
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)