北极星是什么?
项目地址:https://github.com/polarismesh/polaris
北极星是腾讯开源的服务发现和治理中心,致力于解决分布式或者微服务架构中的服务可见、故障容错、流量控制和安全问题。虽然,业界已经有些组件可以解决其中一部分问题,但是缺少一个标准的、多语言的、框架无关的实现。
腾讯具有海量的分布式服务,加上业务线和技术栈的多样性,沉淀了大大小小数十个相关组件。从 2019 年开始,我们通过北极星对这些组件进行抽象和整合,打造公司统一的服务发现和治理方案,帮助业务提升研发效率和运营质量。
目前,北极星在腾讯内部的服务注册数量超过百万,日接口调用量超过十万亿,通用性和稳定性都得到了大规模的验证。因此,我们将其贡献到开源社区,希望对其他企业有所帮助,也希望吸引更多开发者参与共建。下面从三个方面介绍北极星。
北极星诞生的背景
让我们回顾一下应用架构发现的历程:
单体架构:
单体架构的所有代码都在一个应用中,单体架构具备系统复杂度低,部署简单,易运维等优点,适合小规模或者初创期的业务。但随着应用模块和开发人员增加,单体应用面临众多问题,例如:
- 变更成本高:任何修改需要重新部署整个系统;
- 扩展性差:无法针对某些热点模块进行水平扩展;
- 故障扩散