有赞云-可配置表单的实践

一、背景 前端开发过程中,往往会遇到很多的表单。简单表单尚可,但复杂表单让人尤为头疼。 比如有一个用来提交 请假单申请 的表单。 第一个表单项是 Radio,为性别:分别是 男 和 女 两种选项。 第二个表单项是个 Select,为请假原因:分别为 事假、年假、调休、病假…

Read More

有赞云应用远程调试工具

一、背景和简介 1.1 背景 电商云有容器应用场景下,第三方外部开发者的应用是托管在我们有赞云平台的容器中的,出于安全以及整个平台稳定性的要求,应用容器执行环境对外部开发者用户都应该是透明黑盒的。而电商云环境下容器应用的运行会直接依赖于电商云平台所提供Apollo、rds、kvds等各种底层中间件能力,这就导致外部开发者想要实现应用代码的本地调试几乎是不现实的。同时考虑到复杂的网络环境和安全稳定性的要求,平台也不可能开放用户直接连到线上容器应用中利用JVM提供的基于JDWP的远程调试功能。外部开发者强烈的调试需求要求我们平台给外部开发者提供一种在电商云环境下的应用的调试能力。 1.2 简介 有赞云应用远程调试工具是一种不侵入应用代码、不打断应用代码执行、尽可能少的影响代码执行效率的前提下,实现线上应用近似本地调试的体验的调试工具。 总体实现思路是通过java字节码增强技术对开发者指定的代码类包进行精准增强,在满足设定的命中条件时对应用程序执行过程进行录制生成快照,…

Read More

有赞 Bond 分布式锁

Bond (邦德), 有赞里的一套分布式锁的标准解决方案,它是一套 SDK 型的中间件。 现在服务于公司里的核心部门或核心链路,Bond 不仅提供一些面向锁语义的 API,还有提供很多场景解决方案,以及产品化相关的特性。 一、背景 有赞内部刚开始也是各自业务部门自己实现的简单分布式锁方案,直接依赖公共的 Codis 、Zookeeper,或者是自己维护一套 Redis 集群,各自实现的方式也不大一样,基于这现象,随着业务的扩展,有一些问题慢慢就会浮现:…

Read More

Apollo在有赞的实践

一. 背景和Apollo简介 在集中式开发时代,配置文件基本足够用了,因为那时配置的管理通常不会成为一个很大的问题,简单一点来说,系统上了生产之后,如果需要修改一个配置,登录到这台生产机器上,修改这个配置文件,然后reload配置文件并不是什么很大的负担。但是在互联网时代,我们的应用都是分布式系统,部署在N台机器上,如果在线上一台一台的重启机器,会造成很大的负担和不稳定。并且对于公司来说,会有多个环境区分(测试环境和线上环境),有时还需要对同一环境中的不同集群做不同的配置。因此需要一个配置中心来集中管理不同环境、不同集群的配置,修改配置后能够实时推送到应用端。 Apollo(阿波罗)…

Read More

有赞云如何支持多语言

一、背景 有赞是Saas公司,向商家提供了全方位的软件服务,支撑商家进行采购、店铺、商品、营销、订单、物流等等管理服务。 在这个软件服务里,能够满足大部分的商家,为商家保驾护航。 Saas形成是追求共性的过程,Saas生态化是求同存异的过程,所以当我们能够满足大部分客户需求时,我们得考虑大客户的个性化需求场景。 1.1 客户分析 上面讲到我们要求同存异,我们要满足个性化需求,这里简单讲解一下大客户的价值,下面就不区分优势和劣势了,都放一起:…

Read More