跳到主要内容

常见问答

1. 盘古服务开发框架和 Spring CloudSpring Cloud Alibaba 是什么关系?

没有直接关系。「盘古开发框架」直接基于阿里的 Nacos、Seata、Sentinel 和 Apache 的 Dubbo、ShardingSphere 等分布式中间件输出微服务架构的能力。是一套完全独立于 Spring Cloud 生态的轻量灵活、成熟可靠的工业级分布式微服务开发和治理框架。相较于 SC 和 SCA 而言,简单、纯洁、不被污染和绑架、易扩展好维护是其显著特点。

2. 盘古微服务框架(Dubbo 生态)VS Spring Cloud 框架

盘古微服务框架(Dubbo 生态)生态 和 Spring Cloud 都侧重于对分布式系统中常见问题模式的抽象和实现(如服务发现、负载均衡、动态配置等),形成一套微服务整体解决方案。同时都依赖 Spring、Spring Boot ,完全兼容 Spring 体系的开发模式。但是,由于它们在诞生背景与架构设计上的巨大差异,两者在性能、适用的微服务集群规模、生产稳定性保障、服务治理等方面都有很大差异。 盘古微服务框架(Dubbo 生态)的优势在于如下几个方面:

  • 微服务组件成熟度、可用性上有相对优势。比如:配置中心组件、服务注册组件、网关组件等。
  • 微服务实践和治理能力相比有绝对优势。如:优雅上下线、多注册中心、流量管理、权重动态调整、标签路由、条件路由等。可支持百万实例集群水平扩容的超大规模微服务集群。
  • 支持多种微服务通信协议和多种数据传输序列化方式。而且,随着 Dubbo-Go 版本的成熟,Java 微服务生态 和 Go 微服务生态互联互通已经变为现实。
  • 能应对未来可能飞速增长的业务侧对技术平台提出的挑战,在正确的道路上积累有效保值、增值的企业数字资产。
  • 原生整合 Nacos、Seata、Sentinel、ShenYu 生态组件,架构轻量纯洁、干净无污染。

如果您的目标是打造企业开发基座,构建企业级应用,并期待形成企业保值增值的数字资产;而且在未来的持久维护中能够更省心、更稳定,那么建议你能更深入的了解盘古微服务框架(Dubbo 生态)的使用和其提供的能力。

3. 盘古微服务框架(Dubbo 生态)VS Spring Cloud Alibaba

Spring Cloud Alibaba 是遵循 Spring Cloud 抽象层,实现了 Dubbo 生态组件的融入能力,同时也是夹带了一些私货(自家云厂商的商业组件)。因此,如果你选择直接使用 SCA 的话,它也可以享受 Dubbo 生态的相关能力输出的。但是,如果你想拥有一个简单轻量不被污染的微服务架构的话,可以选择盘古微服务框架这种原生组件集成的模式。

本结论虽已尽量保持客观但考虑到个人认知水平和先入为主的因素,偏颇之处在所难免。请各位看官自行甄别。

4. 盘古服务开发框架可以做单体开发吗?

可以。从纯技术角度看,盘古服务开发的最佳姿势是 分布式微服务开发,但也支持搭建 垂直单体分层架构的开发模式

5. 如何在 Dubbo 服务 Provider 端抛出自定义异常?

在接口方法中加入自定义异常签名即可。这样 Consumer 端才能获取原始的异常类型。否则会被序列化为字符串抛出。(Java 自带异常或者 Dubbo 自带的 RpcException 不需要在接口方法上声明就能被捕获。实现原理参见 Dubbo 的 ExceptionFilter 类)。

void update(ResourceEntity resourceEntity) throws BizException;

下一步

继续阅读其它章节获取你想要的答案或通过我们的 开发者社区 寻求更多帮助。