Sping Cloud的那些东西

1.微服务除了Spring Cloud还有哪些处理方案?

其实Spring Cloud的那些东西已已经比较过时了,虽然Spring Cloud是Cloud Native Program, 就是这东西开发出来就是适应于部署在云服务器上;

https://www.cnblogs.com/edisonchou/p/java_spring_cloud_foundation_sample_list.html

基础的云平台为微服务提供了资源能力(计算、存储和网络等),容器作为最小工作单元被Kubernetes调度和编排,Service Mesh(服务网格)管理微服务的服务通信,最后通过API Gateway向外暴露微服务的业务接口;

Istio+k8s看来是未来的发展趋势:SpringBoot就专注在编写业务逻辑上;

2.ProtoBuf是干啥的?

ProtoBuf, 协议缓冲区;Protocol Buffers (Protobuf) is a free and open-source cross-platform data format used to serialize structured data. 


3.zuul和ribbon的区别?

zuul是对外部请求方的负载均衡,而ribbon是对被调用的服务进行负载均衡;这是RestTemplate和Ribbon之间的配合;

客户端ribbon的负载均衡,解决的是服务发起方(在Eureka注册的服务)对被调用的服务的负载,比如我们查询商品服务要调用显示库存和商品明细服务,通过商品服务的接口将两个服务组合,可以减少外部应用的请求,比如手机App发起一次请求即可,可以节省网络带宽;

@Bean

```private RestTemplate restTemplate```

相较于之前常用的 httpClient,RestTemplate 是一种更优雅的调用 RESTful 服务的方式;


4.服务调用到底有哪几种方式?

参考:https://xie.infoq.cn/article/55982acf5cd799d127daefd6a

SpringBoot+SpringMVC可以处理简单的任务(HttpClient);

SpringBoot+Dubbo可以处理中等难度的微服务调用;

Spring Cloud结合zuul(Gateway异步更好)和Ribbon的服务治理;Feign或RestTemplate这种轻量级的框架进行服务调用;再+服务发现(Eureka),熔断(Hystrix);

服务既可以通过网关(Gateway)暴露给外部调用,也可以在内部借助 Feign 提供的负载均衡、重试和熔断等能力,进行服务间的优雅调用,可以说已经具备了一个“雏形”;Gateway可以实现不行再换一个实例,Gateway是Dubbo不具备的,Dubbo只有类似于Eureka的zookeepr, 然后通过Dubbo的配置实现服务的负载均衡(和Spring Cloud的服务发现与网关几乎不需要写代码,配置一下就可以跑起来是一样的)


5.OAuth2

OAuth 是“开放授权”的意思,Open Auth,用户只需要授权而不需要提供账号和密码,

Spring Cloud Security 是从 Spring Security 发展而来,Spring Cloud Security 为什么要提供 OAuth2 实现了:把微服务系统中的各个微服务都看作是独立的软件系统,借助 OAuth2 的开放授权机制,向使用者(第三方)提供受控的服务;

OAuth2 结合 JWT,在大量细粒度微服务的分布式部署环境下,比较好地进行了资源的访问控制,这个资源既包括暴露的service,也包括登录、权限控制、访问控制、用 Feign 做内部服务调用,在增加了 RequestInterceptor 带上 JWT 令牌后,也可以顺利工作;注册其实是一个单独的系统,不需要太担心,我们现在担心的是登录后的session共享;

原文链接: https://xie.infoq.cn/article/2a79743f636f58395e2d2c4a8

JWT 数据是用 Base64 编码,在网络上传输容易泄露用户信息,所以 JWT 中不要包含敏感数据,建议就用户 ID 和角色就可以了,并且启用 HTTPS 传输数据

6.关于分布式session

传统也有很多种做法,比如monolithic的session,再到Spring的session,再到利用Redis保存session, 或者通过数据库来共享session, JSON Web Token(JWT)是跟微服务比较配的一套方案,特别是既有 PC Web 端也有 App、小程序、公众号的系统。

sms_code,自定义认证,这里模拟的是短信验证码。微信、微博、支付宝等第三方登录,都可以按这个思路来实现:原文链接: https://xie.infoq.cn/article/86533fc8bd7197563e5dacd15

7.SpringCloud和Dubbo的区别

SpringCloud生态丰富,功能完善,更像是品牌机,Dubbo则相对灵活,可定制性强,更像是组装机。

而 Spring Cloud 就像品牌机,在 Spring Source 的整合下,做了大量的兼容性测试,保证了机器拥有更高的稳定性,但是如果要在使用非原装组件外的东西,就需要对其基础原理有足够的了解。


8.服务端负载均衡器和客户端负载均衡器的区别?

服务端负载均衡器是因为客户端没有这个能力,它有这个能力把客户端的请求进行转发;

客户端负载均衡器就是这个负载均衡器是要去调用各种微服务的;Ribbon从Eureka那里获取服务列表;


9.RestTemplate和HttpClient以及OkHttpClient的区别

RestTemplate只是起了一个template,这个template要通过OkHttpClient去调用服务;

new restTemplate(new OkHttp3ClientHttpRequestFactory());  //一旦restTemplate配置好了,就可以直接使用了;


10. Feign已经集成了Ribbon

@FeignClient这个注解就可以调用远程的service就像调用本地service一样;@FeignClient写清楚调用的Service名就可以了,而@GetMapping配置相应的接口名就可以了,就像访问本地接口一样;

而HttpClient还需要在RestTemplate里创建一个新的client去call,它与Feign的最大差别就是:@FeignClient就像本地调用,就像Dubbo, 而RestTemplate+HttpClient是发起远程调用;



不理解的敲代码都是死记硬背;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,165评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,720评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,849评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,245评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,596评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,747评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,977评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,708评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,448评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,657评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,141评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,493评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,153评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,890评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,799评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,685评论 2 272

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,103评论 18 139
  • ---------------------------------------------------------...
    零一间阅读 1,444评论 1 12
  • 阿里,百度,腾讯,360,新浪,网易,小米等 文章汇总:https://www.cnblogs.com/dotne...
    IM魂影阅读 11,317评论 8 475
  • 前言 本JVM系列属于本人学习过程当中总结的一些知识点,目的是想让读者更快地掌握JVM相关的知识要点,难免会有所侧...
    Java旺阅读 245评论 0 0
  • 内存模型以及分区 JVM分为虚拟机栈、堆、方法区、本地方法区堆,用来存放实例化对象、非static成员变量,属于线...
    北京黄小胖阅读 1,172评论 0 0