前言 在「RTE2022 实时互联网大会」中,声网云原生边缘计算团队的负责人 @王浩宇 Dylan 以<RTE 场景下的 Serverless 架构挑战 -- 声网如何兼顾后端服务的可靠.高效和快速迭代>为题进行了主题演讲. 这也是声网第一次在 RTE 大会上,对外分享内部的一些后端技术实践.相信大家也一直比较好奇,声网如何在广泛的 RTE 应用场景下解决服务的高效扩展问题. 以下内容基于 @王浩宇 Dylan 于大会中演讲内容整理,为方便阅读略有删改. 01 实时互动后端技术演进 先看一下三…
智能合约的现状 以太坊在区块链上实现了智能合约的概念,用于:同质化通证发行(ERC-20).众筹.投票.存证取证等等,共同点是:合约逻辑简单,只是业务流程中的关键节点,而非整个业务流程.而智能合约想解决的信任传递,是环环相扣的,如果在传统系统环节被恶意侵入和篡改数据,那么传入智能合约的数据就是不受到信任的.因此,整体业务流程上链是智能合约发展的趋势. 智能合约的局限 智能合约在早期被设计的时候,并不打算支撑复杂的业务体系,这和它设计的初衷相违背:漏洞往往出现在程序员编写的代码和他想实现的逻辑之间…
本篇文章内容来自2016年TOP100summit华为架构部资深架构师王启军的案例分享.编辑:Cynthia 王启军:华为架构部资深架构师.负责华为的云化.微服务架构推进落地,前后参与了华为手机祥云4.0.物联网IoT2.0的架构设计.曾任当当网架构师,主导电商平台架构设计,包括订单.支付.价格.库存.物流等.曾就职于搜狐负责手机微博的研发.“奔跑中的蜗牛”公众号博主. 导读:随着云时代的来临,软件架构日新月异,各种新技术层出不穷.“微服务”这个词更是如火如荼,得到了业界的广泛认可.但是,微服务…
  Gearman是当年LiveJournal用来做图片resize的,大家也明白图片resize是一个高CPU的操作,如果让web网站去做这个高CPU的功能,有可能会拖垮你的 web应用,那本篇我们来看看gearman是如何解决这个问题的,它的架构图类似下面这样: 从上面这张图,你应该会看到,Gearman是由三个部分组成: 1. Job Server 这个就是Gearman的Job Server,通过它对Client 和 jobwork 进行桥接,是不是想起来了中介者模式... 2. Cli…
用到了MvcPager.js,在一个常见的场景中出现了不能POST表单数据的问题,场景描述如下: 日期:2012-12-12 编号:*****                                                                                                                          [查询] 数据列表 首页 1 2 3 ...19 尾页 页面加载完成后,如果首先点击分页页码,那么查询条件部分的日…
后端: 1.webapi的token加密:  1)JWT验证算法,不推荐:2)RSA 2.集合的扩展:C5.dll 3.对象映射工具:AutoMapper .TinyMapper 4.任务调度框架:Quartz.HangFire.XXL-Job(java) 前端: 数据库: 1.轻量级关系数据库: 1)sqlite  2)db4o 开源后台系统框架: 1)NFine…
首先,把最真挚的情感送与梅西,加油! 写在前面 阅读目录: 重申业务场景 Domain Model 设计 后记 上一篇<设计窘境:来自 Repository 的一丝线索,Domain Model 再重新设计>. 讲本篇内容之前,先回顾上一篇所讨论的内容,主要是 Repository(仓储)的职责问题,属于领域?还是应用层?其实到头来也没有准确的结论,但是最终比较偏向于仓储定义在领域,实现在基础层,调用在应用层.你可能有些疑问,为什么要讨论仓储的职责问题?看过上一篇的内容你可能会有些答案,这也就…
DDD 回归具体的业务场景,Domain Model 再再重新设计 首先,把最真挚的情感送与梅西,加油! 写在前面 阅读目录: 重申业务场景 Domain Model 设计 后记 上一篇<设计窘境:来自 Repository 的一丝线索,Domain Model 再重新设计>. 讲本篇内容之前,先回顾上一篇所讨论的内容,主要是 Repository(仓储)的职责问题,属于领域?还是应用层?其实到头来也没有准确的结论,但是最终比较偏向于仓储定义在领域,实现在基础层,调用在应用层.你可能有些疑问,…
业务场景下有这样的问题 业务需求需要保存前端 半选节点 解决方案 let checked = this.$refs.menuTree.getCheckedKeys(); //此方法获取半选节点 let halfChecked = this.$refs.menuTree.getHalfCheckedKeys(); //我们合并两个数组,便获取到了我们选中的节点及半选节点 let cArr=checked.concat(halfChecked); 之后业务数据包含半选的节点,在前端回显时会全选他的子…
在性能测试过程中,往往会出现各种各样的性能瓶颈.其中java常见瓶颈故障模型有cpu资源瓶颈:文件IO瓶颈:网络IO瓶颈:内存资源瓶颈:资源消耗不高程序本身执行慢等场景模型. 如何快速定位分析这些类型瓶颈?工欲善其事必先利其器.   本文主要讲述针对cpu高耗和网络IO瓶颈两个场景,使用排查提效脚本工具快速定位分析性能瓶颈 场景一:当服务器CPU高耗原因分析,如何快速定位到占用cpu高的用户线程 场景二:怀疑网络连接问题,如何快速分析网络TCP状态   原始做法: 场景一: top命令找出消耗C…