高手问答第 259 期 —— 与 Spring Cloud Alibaba 开源项目负责人一起深入理解 Spring Cloud

白开水不加糖 发布于 2021/04/05 09:31
阅读 9K+
收藏 16

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

据 O’Reilly 在 2020 年 7 月 15 日公布的企业微服务市场现状的调研数据来看,有 77% 的组织采用了微服务,其中, 92% 的组织成功地使用了微服务。Spring Cloud 和 Apache Dubbo 作为非常流行的两款微服务开发框架,深受开发者们关注。

OSCHINA 本期高手问答(4 月 5 日- 4 月 11日)我们请来了 Spring Cloud Alibaba 开源项目负责人方剑 @fangjian0423 和大家一起探讨关于 Spring Cloud 相关的问题。

本期高手问答嘉宾方剑参与了 Spring Cloud Alibaba 开源项目的建设,并成为该项目的创始人之一。在建设 Spring Cloud Alibaba 的过程中,他对 Spring Cloud 整个生态的知识点进行了深入学习,发现 Spring Cloud 生态体系其实非常庞大,大家平时可能更多地关注于服务注册/发现、配置管理、熔断器和网关这 4 大方面,但实际上 Spring Cloud 还包括消息、消息总线、任务调度、应用部署、Serverless、CI/CD 等诸多领域的知识。

可讨论的问题包括但不限于:

  • Spring Cloud 技术栈
  • Spring Cloud 服务治理
  • Spring Cloud 与 Dubbo、Service Mesh 的关系
  • Spring Boot 与 Spring Cloud
  • Spring Cloud Alibaba相关实践

或者其它 Spring Cloud 相关问题,也欢迎大家积极提问!

嘉宾简介

方剑,花名洛夜,Spring Cloud Alibaba 开源项目负责人/创始人之一。Apache RocketMQ CommitterAlibaba Nacos Committer。目前就职于阿里巴巴集团。

曾在个人博客上编写过《Spring MVC源码分析系列》、《Spring Boot源码分析系列》文章。目前,关注微服务、云原生、Kubernetes

为了鼓励踊跃提问,@博文视点 会在问答结束后从提问者中抽取 5 名幸运会员赠予《深入理解 Spring Cloud 与实战》一书。

购买地址:https://item.jd.com/13043028.html

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就相关问题向 @fangjian0423  老师提问,直接回帖提问即可。

-------------------------------------------------------------------------------------------------------------------------

下期预告:高手问答第 260 期(0412-0418)的主题为技术人修炼之道。邀请到了原 1 号店技术总监黄哲铿,针对程序员职业发展进行答疑。

加载中
0
白开水不加糖
白开水不加糖

高手问答第 259 期 —— 与 Spring Cloud Alibaba 开源项目负责人一起深入理解 Spring Cloud

@becke,@猪娃娃,@源1码1,@孤好梦中X人,@Morty_a 

恭喜以上五位网友分别获得《深入理解 Spring Cloud 与实战》图书一本
请私信 @白开水不加糖 告知快递信息(格式:姓名+电话+地址)

2
enable-
enable-

@fangjian0423   方剑 老师好,久闻大名 ,现在有一个问题就是公司已经用的全套  Spring Cloud  组件 ,1是有必要迁移到全套 阿里系的吗,比如 ,从Eureka到Nacos ,OpenFeign到 DUbbo Rpc, Hystrix到Sentinel, 然后还有就是 感觉发展方向是 , Service Mesh ,以后  Spring Cloud一个很大的限制是只支持java语言, Spring Cloud Alibaba  会不会因为  Istio  之类的的 Service Mesh 崛起 而被淘汰呢 

南方Go
南方Go
回复 @fangjian0423 : 采访链接,麻烦发一下,想看看
fangjian0423
fangjian0423
采访里有提到哦 ~
1
fangjian0423
fangjian0423

引用来自“源1码1”的评论

1,spring cloud源码有什么需要关注的?2,阿里巴巴改了spring cloud那部分源码?

1. Spring Cloud 大部分组件的基础是 Spring Boot ,基于 Spring Boot 的 hook 机制(工厂加载机制)去设计出 Spring Cloud 自己的微服务实现(服务注册/发现,分布式配置,服务调用等等)。像 Spring Cloud Stream,Spring Cloud Function,Spring Batch 这些都是比较独立的设计,可以参考书上的讲解哈 ~

2. 目前并没有改造 Spring Cloud 的源码,是在原有代码的基础上实现了自身的特性。比如 Dubbo Spring Cloud 是通过 AOP 切了部分实现并加上了新的特性。后面有机会会和 Pivotal(VMware)工程师一起设计/优化 Spring Cloud 源码 

1
fangjian0423
fangjian0423

引用来自“赤脚小子”的评论

@fangjian0423 你好,现在网关层到底用什么?好多公司还在用ZUUL,GATEWAY靠谱么?

推荐使用 Spring Cloud Gateway 哦,这个已经经过生产验证过,而且是 Spring Cloud 社区自己创建/维护的项目。据我了解,目前 Zuul 越来越少的公司再使用了。

1
fangjian0423
fangjian0423

引用来自“猪娃娃”的评论

您好,关于spring cloud关于CICD 和云原生主要提现在哪些方面呢

1. CICD 方面。可以参考书里的 Spring Cloud Data Flow 章节,里面有讲到 Spring Cloud Skipper 以及 Spring Cloud Deployer。目前我知道有公司通过这些技术栈做 CICD。当然,也可以通过 Jenkins 自己做 CICD。

2. 云原生这个概念一开始可是 Spring 的母公司 Pivotal 提出的哦,Pivotal 还提出了12-factor Apps。这 12 个要素在 Spring Boot/Cloud 上几乎都支持,Pivotal 的 Spring 首席布道师 Josh Long 编写的《Cloud Native Java》是一本讲解云原生以及 Spring Boot/Cloud 的书籍,里面也讲到了这些内容。

1
fangjian0423
fangjian0423

引用来自“广州绥靖公署主任”的评论

1. 在微服务系统下,权限系统如果用oauth2封装成一个单独的服务,每次鉴权都要增加一次http验证token,怎样提高性能 2.  spring cloud如果发布到kubernetes,最佳实践是无状态的服务以pod运行在k8s,任务调度、nacos等第三方模块以jar发布还是统一都由kubernetes管理?Istio是否能降低kubernetes运维的复杂度 @fangjian0423

1. 如果权限是一个单独的微服务模块,可以考虑在代码层面做一些性能优化。比如加上限流;FeignClient 客户端使用 okhttp 代替默认的 jdk http 客户端,修改压缩策略;超时时间修改等等

2. 业务应用可以以无状态的方式运行在 Kubernetes 上,有状态的应用 Kubernetes 也能管理,参考 Kubernetes 部署 Nacos 文章

3. Istio 确实是可以降低 Kubernetes 的运维复杂度,但前提是我们得对 Istio 足够了解,了解 Istio 本身也是一件需要时间让技术/运维团队慢慢熟悉的过程。关于是否要使用 Istio,还是得根据公司的规模/技术栈等多方面因素决定。选择适合自己的才是最舒服的。

1
becke
becke
@fangjian0423 目前公司已经使用springcloud构建了微服务。服务之间使用feignclient进行调用,因为feign只是对http通信的封装,接口还是通过controller定义 ,在网关进行接口对外暴露的时候需要特别注意安全,一不小心就把对内的接口暴露出去了。使用dubbo可以解决,但是架构上会复杂一些,还是从管理上解决这样的问题?怎么来考量
fangjian0423
fangjian0423
简单点安全这块可以通过 Content-Type 做一些区分,让客户端传递正确的 Content-Type 才可以调用。从长远看可以加一些鉴权操作。
0
cielSwift
cielSwift
seata的@globaltranscation注解和shardingjdbc的事物注解冲突吗
fangjian0423
fangjian0423
不冲突,参考:https://github.com/seata/seata-samples/tree/master/springboot-shardingsphere-seata
0
Funcy1122
Funcy1122
书已经到了,正准备看
fangjian0423
fangjian0423
感谢支持!!
0
开源中国首席路人王
开源中国首席路人王

@fangjian0423 您好,请问新手学初学Spring Cloud需要从哪方面开始学起?有整个学习路线吗?

Funcy1122
Funcy1122
@fangjian0423 同问,发现 springcloud 的组件非常多,同一功能有多个组件的实现,还有些组件已经不开发了,感觉很凌乱,不知道重点学啥
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部