保存成功
保存失败,请重试
提交成功
罗伯特

罗伯特

架构师
作者还没有更新他的简介。...更多
文章10

从点线面体谈开发到架构师的转型

笔者工作十余年,从负责一个模块,到负责一个产品,再到负责整个支付平台的架构设计,包括业务架构、产品架构到应用架构,再到技术架构,是一个从点到面逐渐转型的过程,同样是个“自相似”的现象,笔者一开始写博客,再到出版《分布式服务架构:原理、设计与实战》,现在它的下册《可伸缩服务架构:框架与中间件》正在出版的路上。 云时代架构系列书籍已经初具形态,也体现了从小到大的发展过程,笔者很想把这个过程总结成书,苦于没有时间,于是,通过 Chat 把工程师向架构师转型的方方面面,和大家分享,这包括但是不仅限于: 1. 架构师如何修炼内功? 2. 架构师如何如何在博弈中权衡? 3. 架构师如何掌控方向? 4. 什么是业务架构、产品架构、应用架构? 5. 凭什么评审方案?别人为什么听你的方案? ……
286 订阅

从微信支付宝支付接口设计谈 API 接口产品的设计经验和最佳实践

这两年做了一款支付产品,重新定义了产品的对外开放平台 API 的形态,优化了产品体验,重构了支付平台,把接口设计的各种经验分享出来,免得大家设计不合理的接口,影响开发者使用,或者被开发者吐槽不专业、不好用、太重等。 具体问题包括但不仅限于: 1. 命令模式真的很好吗? 2. 为什么有的文档看起来就像吃烤鱼一样爽,而有的文档看起来很辛苦? 3. 驼峰式命名?下划线分割命名?还是都小写字母?有什么讲究吗? 4. 我们需要万恶的 ext1,ext2 这类字段吗? 5. 对账 API 怎么设计会更方便? 6. 到底要签名,还是加密,对称还是非对称呢? 7. 范围查询真的是支付平台应该提供的功能吗? 8. 回调模式取密钥真的那么好用吗? 9. 好的 API 是会说话的,而不是腼腆不语的。 10. 文档的用词是不是都用英文,前后一致呢? 11. 开放平台下一定要用 APPID 吗? 12. 撤销、关闭和退款都是什么鬼? 13. 同步还是异步的抉择?
严选
495 订阅

通用架构师应该如何把控迁移技术方案

互联网金融行业发生了翻天覆地的变化,相对应的金融科技也在不断的更新和迭代,每次有新的软件系统出炉的时候,就是老的软件系统命运终结的开始,老的项目当然不会束手就擒,它也会做最后的挣扎,当你从它身上迁移用户或者商户的时候,它会给你带来很多麻烦,比如说,它会临时罢工、出现资金损失等等不可忽视的问题,因此,迁移是个大任务,有的时候迁移并不亚于开发一套新系统的难度,甚至可以说是有过之而无不及。 大家是不是在迁移的过程中,会碰到如下的问题: - 停机迁移还是非停机迁移? - 迁移字段、表、数据库还是应用? - 如何保证迁移过程有条不紊的进行? - 迁移到新系统出错了怎么办?迁移回旧系统?产生的数据怎么办? - ...... 不要着急,我在过去的几年里一直在解决这些事情,并形成了完善的方法论和模板,通通分享给大家。
256 订阅

支付平台架构设计评审核心要点与最佳实践

互联网平台架构日益成为互联网发展的基石,对于Java 开发者和架构师而言,只有在了解架构背后的原理后,才能写出更高质量的代码,才能设计出更好的方案,才能在错综复杂平台架构下产出价值,才能在各种场景下快速发现问题、快速定位问题、快速解决问题。 本场 Chat 会带领大家从支付平台架构设计评审入手,讲解设计评审的核心要点,为读者带去现实中的案例,帮助读者理解设计评审的重要性、核心要点和最佳实现。 在这场 Chat 中将学到如下内容: - 线程池如何设置,为什么线程数设置多了性能低,线程数设置少了还会低? - 应用系统中的一致性如何实施? - 分片任务如果管理和如何解决并发? - 缓存使用的最佳实践。 - 数据库上经常犯的错误。 - 为什么枚举类要慎用? - 一行代码引起的bug引发的思考。 - 库存到底怎么减? - 防重到底怎么做? - ......
428 订阅

技术人如何修炼内功

各家互联网公司各成一派,都有自己的技术体系,如何成为一个可以破解各门各派招式的江湖剑客,还得靠内功。这场 Chat 分享如何修炼内功,包括技术的内功、做人做事的内功、分布式服务的内功等。 **实录提要:** - 半路出家的从业人员需要学习什么样的基础内容,提高专业的素养? - 实际工作中,在广度、深度、高度上怎样的比例来修炼? - 能看明白框架的处理逻辑,但不知道怎么总结成自己的东西? - 如何提高质量和保障系统和平台的高可用的,并且保证风险控制和账务处理? - 是怎么提现项目的设计和项目架构?是用一些框架,还是一些工具?
287 订阅

如何在生产环境排查 OutOfMemoryError (OOM)

我们都知道 JVM 的内存管理是自动化的,Java 语言的程序指针也不需要开发人员手工释放,JVM 的 GC 会自动进行回收,但是,如果编程不当,JVM 仍然会发生内存泄漏,导致 Java 程序产生 OutOfMemoryError (OOM) 错误。产生 OOM 错误的原因包括以下内容。 - java.lang.OutOfMemoryError:Java heap space. - java.lang.OutOfMemoryError:PermGen space. - java.lang.OutOfMemoryError:unable to create new native thread. - java.lang.OutOfMemoryError:GC over- head limit exceeded. 本场 Chat 聚焦在作者花费几天时间在线上排查和解决 OOM 问题的现实的全过程。
严选
278 订阅

轻松理解区块链和比特币基础技术原理

用技术人的思维帮助读者理解区块链和比特币的基本概念和技术原理:存储结构、区块头结构、Merkle 树,解锁脚本、挖矿过程、P2P 网络、智能合约、共识机制、比特币地址等,帮助读者从技术的角度解开新手了解区块链的种种疑惑。 **实录提要:** - 既然钱包不记录余额,那每一笔交易都要遍历历史的交易记录吗? - 比特币交易平台如火币网是怎么进行比特币买卖的? - 现在挖矿成本很高,山寨币这么多,什么币值得投资? - 区块链技术在面对目前分布式多中心架构下有何使用场景? - 怎么创建账户?如何挖矿? - 特币与虚拟货币的关系是什么?比特币与法币的关系? - 一种新的虚拟货币从最初的想法到最终的发行大概需要经历几个阶段? - 这么多节点,数据同步不是很慢吗? - 如果不玩比特币,如何找个场景玩转区块链?
严选
966 订阅

Java 领域从传统行业向互联网转型你必须知道的事儿

武林中,“天下武功出少林”指中国各门各派的武功都与少林武学有一定的渊源,技术也是相同的道理,对于 Java 领域的应用而言,传统行业和互联网行业的技术都来自于 J2SE 和 J2EE 的生态圈,但是两个行业的侧重点不同,传统行业侧重于规范,流程,功能的复杂性以及正确性,而互联网更侧重于“快”,这里的“快”有两方面的意思,一个是产品运行效率要高,速度要快,另外一个是开发效率要快,相应市场需求要快。 从另外一个侧面说,传统行业一般关注一个复杂系统的功能完善,而互联网企业更关注一个简单的垂直业务的非功能质量,例如:高性能,可用性,高并发,可扩展,可伸缩,稳定性,安全性等,那么,一个 Java 从业人员从传统行业到互联网行业,你到底还有哪些距离呢? **实录提要:** - 互联网行业的技术要比传统技术深奥多少? - 互联网的可伸缩性都变现在哪些方面? - 互联网项目以高性能著称,传说中“唯快而不破”,都怎么保证高性能? - 互联网招聘人都关注哪些主要的方面? - 平台从传统模式向互联网模式迁移,架构和体系重构有何高见? - 现在 JavaScript 火爆会不会对 Java 造成冲击? - 在支付行业,微服务化有哪些问题? - 有哪些常用的方法来保证系统的高可用? - 现在做的系统中是否有 DevOps 实践,如果有具体是怎么做的? - 项目到什么级别做微服务化比较合适?微服务会带来什么问题? - 没有具体互联网项目经验怎么办? - 这么多需要学习的内容,如何平衡广度和深度? - 支付行业的数据一致性实现手段有哪些? - 传统的电商平台采用微服务框架怎么做?有什么好的建议? - 互联网现在很多项目都抄袭的,如何做到更吸引人,仅仅是用户体验吗?
严选
1027 订阅

白话阿里巴巴 Java 开发手册高级篇

阿里巴巴发布了《阿里巴巴 Java 开发手册》,总结了阿里人多年一线实战中积累的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量。通过限制开发人员的编程风格、实现方式来避免研发人员在实践中容易犯的错误,同样的问题大家使用同样的模式解决,便于后期维护和扩展,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行了应用和推广,收效颇丰,也总结了适合支付平台的技术规范。由于阿里巴巴 Java 开发手册本身定位为规约和规范,语言简单、精炼,没有太多的解读和示例,有些条款对于一般开发人员理解起来比较困难。本场 Chat 借着阿里巴巴发布的 Java 开发手册,详细解读 Java 平台下开发规范和标准的制定和实施。 **实录提要:** - 关于 DTO/DO/VO,有没有好的来源实现案例可以参考? - 1.4 以下 JDK 已经解决了内存可见性的问题,请问是采用什么机制? - Java Web 的项目,异常日志在哪一层记录? - 一个方法里面既有数据库操作也有外部 API 接口调用,事务超时时间如何考虑? - 开发手册怎么和 checkstyle 结合起来用? - 有没有相关文档提供下? - 支付和渠道风控的架构是什么?
严选
1434 订阅

如何设计一款多场景分布式发号器

深入剖析互联网高性能多场景发号器的设计、实现、压测、使用。在每一环节都对应专业的文档和代码、示例应用,可以即刻应用到线上服务上。通过讲解多家互联网公司的应用经验,让读者从零开始学习开发一款互联网产品,教会读者在互联网项目中如何设计非功能质量,包括:高可用,高性能,可伸缩,可扩展等。
严选
212 订阅
微信扫描登录