轻量级的架构决策记录机制
ADR是一种性价比非常高的架构决策文档化实践,团队引入和实践成本很低,却能为团队带来极大收益!
kenx kenx
4年前
SpringBoot+Maven 多模块项目的构建、运行、打包实战
前言最近在做一个很复杂的会员综合线下线上商城大型项目,单模块项目无法满足多人开发和架构,很多模块都是重复的就想到了把模块提出来,做成公共模块,基于maven的多模块项目,也好分工开发,也便于后期微服务重构使用场景我刚开始创建项目的时候是基于单模块,开发的,我先开发的接口api项目结构是这样的core模块是公共模块,mallapi是小程序api,随然单体
Stella981 Stella981
4年前
RabbitMQ 和 Kafka 的区别?
作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?”。基于某些原因,许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别,但是这两种技术在底层实现方面是有许多差异的。不同的场景需要不同的解决方案,选错一个方案能够严重的影响你对软件的设计,开发和维护的能力
Wesley13 Wesley13
4年前
LVS+keepalived负载均衡
背景:        随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要的浪费?同时实现商业硬件一样的高性能高可用的功能?有什么好的负载均衡可伸张可扩展的方案吗?答案是肯定的!有!我们利用LVSKeepalived基于完整开源软件的架构可以为你提供一个负
Stella981 Stella981
4年前
Git 迁移之痛
OSChina的Git平台一直在云平台上,今年年中的时候数据增长迅猛,特别是在存储的容量上成倍的增长。我们跟几个云平台的深入聊过,目前的环境下没有解决方案,难以在容量和性能上都同时满足。于是才做出建立独立服务器的决定。然后是几个月的硬件准备和软件架构的准备,特别是在Ceph(http://my.oschina.net/p/ceph)存储上的研究
Wesley13 Wesley13
4年前
API设计的一点思路
API是模块或者子系统之间交互的接口定义。好的系统架构离不开好的API设计,而一个设计不够完善的API则注定会导致系统的后续发展和维护非常困难。以下谈一点API设计的原则。业务层业务语义简单明确一个接口或者说一个api,必定是为外部使用者服务的,因此必须具有明确的业务/使用意图。api的从命名到定义,都必须围绕着这个意图来进行
Stella981 Stella981
4年前
Docker镜像瘦身
Docker是一个用于开发,交付和运行应用程序的开发平台。它能够将应用程序和基础架构分开,保证开发,测试,部署的环境完全一致,从而达到快速交付的目的。但是在实际项目中,会对项目中的模块或者服务进行细分,导致部署的镜像过多(50个),过大(打包压缩后的镜像达50G),这给部署带来了不小的隐患,特别是私有化部署(通过移动介质拷贝镜像进行部署)。
Wesley13 Wesley13
4年前
40张图看懂分布式追踪系统原理及实践
前言在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互协作才能完成。这一系列调用请求中,有些是串行的,有些是并行的,那么如何确定这个请求背后调用了哪些应用,哪些模块,哪些节点及调用的先后顺序?如何定位每个模块的性能问题?本文将为你揭晓答案。本文将会从以下几个方面来阐述分布式追踪系统原理及作用S
NUMA架构介绍及优缺点分析
NUMA(NonUniformMemoryAccess,非统一内存访问)架构是一种针对多处理器系统的内存组织方式。在这种架构中,处理器被分配到不同的节点,每个节点拥有自己的本地内存。处理器可以访问本地内存和其他节点的内存,但访问本地内存的速度要快于访问其他节点的内存。
玩转云端 | 多云时代,数据管理就该这么“库”!
随着上云成为普遍趋势、企业需求的多样化发展,单一的云模式已经无法满足企业用户的复杂需求,单云模式下深度绑定一朵云所带来的成本不确定性以及安全风险日益增加。数据显示,超过92%的企业计划选择多云的上云方案。天翼云作为云服务国家队,凭借在资源充裕度、网络覆盖范围、产品安全性和实施性价比等方面的独特优势,成为企业部署多云架构时的首选。