myshop

Spring----Bean装配

ぐ巨炮叔叔 提交于 2020-12-12 07:02:32
一、Bean种类 1、普通Bean   <bean id="" class="A"> ;spring直接创建A实例对象并且返回 2、特殊Bean   如果一个Bean实现了 FactoryBean接口,那他就是一个特殊的Bean,当spring实例化这个bean的时候,会调用 getObject() 方法,返回 getObject() 方法返回的值   这种特殊的Bean,我们一般称为FactoryBean,例如ProxyFactoryBean,表示生产proxy的Bean <bean id="" class="proxyFactoryBean">,获得的是proxyBean。(getObject()方法返回的是proxy) 补充:   FactoryBean:具有工厂生产对象的能力,但是只能生产特定的对象(典型例子SqlSessionFactoryBean),目的就是隐藏复杂的bean的配置 //举一个例子 public class UserFactoryBean implements FactoryBean<User> { @Override public User getObject() throws Exception { //进行复杂的配置 User user = new User(); return user; } @Override public Class<?>

微服务安全认证架构是如何演进而来的?

試著忘記壹切 提交于 2020-08-15 04:00:53
之前有同事问为何要用基于JWT令牌的认证架构,然后近期又有童鞋在后台留言问微服务安全认证架构的实践,因此我决定花两篇推文来解答一下。为了答好这个话题,我们先来看看微服务的安全认证架构是如何演进而来的,从而更好地理解。 1 单块阶段(上) 首先,我们有必要再次了解下认证和授权这两个基本概念: 认证,Authentication,识别你是谁。即在网站上用来识别某个用户是否是注册过的合法用户。 授权,Authorization,识别你能做什么。即在网站上用来识别某个用户是否有某方面的权限。 然后,这里还是引用我在波波老师的《Spring Boot与K8s云原生应用开发》课程中学到的一个案例,来学习网站安全架构的演进。 假设我们把时间倒退回2006年,我们有一个叫做MyShop的网站,它的安全架构大概是下面这个样子,我们暂且称之为v1版本: MyShop v1版本的认证操作 可以看到,这个v1版本的传统安全认证架构,使用到了我们十分熟悉的Session + Cookie的模式来实现用户的认证。即当一个注册用户通过登录操作请求后,Web服务器通过向数据库进行校验用户名和密码,通过后就会向Session中添加一条记录,然后返回给浏览器。在返回给浏览器的报文中,会将sessionId放在Cookie里头。 MyShop v1版本的访问操作 这样一来,用户在登录之后再访问网站的时候

JWT到底是个什么鬼?

一笑奈何 提交于 2020-08-13 06:07:33
前面一篇 我们了解了微服务安全认证架构是如何演进而来的,但是发现v2.5架构仍然较重,有没有轻量级一点的方法呢?其实业界早已有了实践,它就是基于JWT的安全认证架构。JWT到底是个什么鬼呢?本篇为你解答! 1、V2.5版本架构存在的问题 在v2.5版本Token+Gateway模式下,适合于大部分微服务场景,但是当网站流量很大的时候,对AuthService的访问压力也会比较大, 它很可能会成为性能和扩展性的瓶颈 ! MyShop v2.5版本:Token+Gateway 此外,对于很多对于安全不是很敏感的微服务来说,集中状态校验就会显得很笨重。 2、V2.6版本:JWT+Gateway 在业界实践上,很多企业都在采用基于JWT令牌的无状态安全认证架构,MyShop技术团队也探索出了v2.6版本,即基于JWT+Gateway的模式: MyShop v2.6:JWT+Gateway v2.6在v2.5的基础之上发展而来,主要区别如下: (1)第二步中,v2.5使用的是透明应用令牌,而v2.6使用的是JWT令牌,JWT令牌是自包含数据和签名的; (2)第四步和第五步,v2.5需要网关每次请求都去AuthService进行校验,而v2.6网关处则不用;此处,网关就可以自行进行令牌的解析和合法性校验;解析完成后,网关就可以得到用户标识信息并向后端微服务传递了; 画外音

微服务架构中的BFF到底是啥?

こ雲淡風輕ζ 提交于 2020-08-13 03:13:39
在《 技术中台与业务中台都是啥玩意 》一文中留下一个问题:BFF是啥?为啥在API网关和业务中台之间加入了一层BFF?考虑到在实际工作中,我的大部分同事都问过这个问题,这里我也总结一下进行答复。 一、从一个MyShop开始说起 为了讲清BFF是个啥,这里引用我在波波老师的课程《Spring Boot与K8s云原生应用开发》中学到的一个案例,来跟大家分享一下,并尽力说清楚BFF是啥,又是如何演化出来的。 假设我们在一个开发团队中,开发了一个叫做MyShop的电商项目,它采用的是微服务的架构风格。它经历过几次架构调整,我们就跟着它的调整来看看BFF是怎么演化出来的。 假设v1版本在七八年之前,MyShop已经采用了服务化的架构,它的客户端也主要还是以传统的Web应用为主。在当时,它的SOA架构已经算是跟上了潮流。 转眼之间,来到了四五年前,MyShop升级为了v2版本,它的架构如下图所示: 可以看到,这个时候已经进入了移动互联网时代,MyShop为了紧跟时代,也推出了自己的无线应用App。为了能够尽快上线,MyShop团队的架构师设计了v2架构,它为App端新增了一个Nginx反向代理,可以使App入口直接访问API微服务。 但是,这个急于求成的v2架构存在以下问题: (1)App端和内部的API微服务存在一个强耦合的关系(包括接口耦合和域名耦合)

微服务架构中的BFF到底是啥?

假如想象 提交于 2020-08-12 08:41:52
一、从一个MyShop开始说起 为了讲清BFF是个啥,这里引用我在波波老师的课程《Spring Boot与K8s云原生应用开发》中学到的一个案例,来跟大家分享一下,并尽力说清楚BFF是啥,又是如何演化出来的。 假设我们在一个开发团队中,开发了一个叫做MyShop的电商项目,它采用的是微服务的架构风格。它经历过几次架构调整,我们就跟着它的调整来看看BFF是怎么演化出来的。 假设v1版本在七八年之前,MyShop已经采用了服务化的架构,它的客户端也主要还是以传统的Web应用为主。在当时,它的SOA架构已经算是跟上了潮流。 转眼之间,来到了四五年前,MyShop升级为了v2版本,它的架构如下图所示: 可以看到,这个时候已经进入了移动互联网时代,MyShop为了紧跟时代,也推出了自己的无线应用App。为了能够尽快上线,MyShop团队的架构师设计了v2架构,它为App端新增了一个Nginx反向代理,可以使App入口直接访问API微服务。 但是,这个急于求成的v2架构存在以下问题: (1)App端和内部的API微服务存在一个强耦合的关系(包括接口耦合和域名耦合),任何一边的变化都会对另外一边造成一定影响。 (2)每个对外暴露的服务,都需要新的域名,而域名是需要买的,是需要承担成本的。 (3)内部的API微服务一股脑地暴露在了公网上面,存在很大的安全风险。 (4

微服务架构中的BFF到底是啥?

这一生的挚爱 提交于 2020-08-12 06:53:53
一、从一个MyShop开始说起 为了讲清BFF是个啥,这里引用我在波波老师的课程《Spring Boot与K8s云原生应用开发》中学到的一个案例,来跟大家分享一下,并尽力说清楚BFF是啥,又是如何演化出来的。 假设我们在一个开发团队中,开发了一个叫做MyShop的电商项目,它采用的是微服务的架构风格。它经历过几次架构调整,我们就跟着它的调整来看看BFF是怎么演化出来的。 假设v1版本在七八年之前,MyShop已经采用了服务化的架构,它的客户端也主要还是以传统的Web应用为主。在当时,它的SOA架构已经算是跟上了潮流。 转眼之间,来到了四五年前,MyShop升级为了v2版本,它的架构如下图所示: 可以看到,这个时候已经进入了移动互联网时代,MyShop为了紧跟时代,也推出了自己的无线应用App。为了能够尽快上线,MyShop团队的架构师设计了v2架构,它为App端新增了一个Nginx反向代理,可以使App入口直接访问API微服务。 但是,这个急于求成的v2架构存在以下问题: (1)App端和内部的API微服务存在一个强耦合的关系(包括接口耦合和域名耦合),任何一边的变化都会对另外一边造成一定影响。 (2)每个对外暴露的服务,都需要新的域名,而域名是需要买的,是需要承担成本的。 (3)内部的API微服务一股脑地暴露在了公网上面,存在很大的安全风险。 (4

微服务架构中的BFF到底是啥?

杀马特。学长 韩版系。学妹 提交于 2020-07-27 08:53:51
在《 技术中台与业务中台都是啥玩意 》一文中留下一个问题:BFF是啥?为啥在API网关和业务中台之间加入了一层BFF?考虑到在实际工作中,我的大部分同事都问过这个问题,这里我也总结一下进行答复。 一、从一个MyShop开始说起 为了讲清BFF是个啥,这里引用我在波波老师的课程《Spring Boot与K8s云原生应用开发》中学到的一个案例,来跟大家分享一下,并尽力说清楚BFF是啥,又是如何演化出来的。 假设我们在一个开发团队中,开发了一个叫做MyShop的电商项目,它采用的是微服务的架构风格。它经历过几次架构调整,我们就跟着它的调整来看看BFF是怎么演化出来的。 假设v1版本在七八年之前,MyShop已经采用了服务化的架构,它的客户端也主要还是以传统的Web应用为主。在当时,它的SOA架构已经算是跟上了潮流。 转眼之间,来到了四五年前,MyShop升级为了v2版本,它的架构如下图所示: 可以看到,这个时候已经进入了移动互联网时代,MyShop为了紧跟时代,也推出了自己的无线应用App。为了能够尽快上线,MyShop团队的架构师设计了v2架构,它为App端新增了一个Nginx反向代理,可以使App入口直接访问API微服务。 但是,这个急于求成的v2架构存在以下问题: (1)App端和内部的API微服务存在一个强耦合的关系(包括接口耦合和域名耦合)

微服务架构中的BFF到底是啥?

谁说我不能喝 提交于 2020-07-27 03:58:17
在《 技术中台与业务中台都是啥玩意 》一文中留下一个问题:BFF是啥?为啥在API网关和业务中台之间加入了一层BFF?考虑到在实际工作中,我的大部分同事都问过这个问题,这里我也总结一下进行答复。 一、从一个MyShop开始说起 为了讲清BFF是个啥,这里引用我在波波老师的课程《Spring Boot与K8s云原生应用开发》中学到的一个案例,来跟大家分享一下,并尽力说清楚BFF是啥,又是如何演化出来的。 假设我们在一个开发团队中,开发了一个叫做MyShop的电商项目,它采用的是微服务的架构风格。它经历过几次架构调整,我们就跟着它的调整来看看BFF是怎么演化出来的。 假设v1版本在七八年之前,MyShop已经采用了服务化的架构,它的客户端也主要还是以传统的Web应用为主。在当时,它的SOA架构已经算是跟上了潮流。 转眼之间,来到了四五年前,MyShop升级为了v2版本,它的架构如下图所示: 可以看到,这个时候已经进入了移动互联网时代,MyShop为了紧跟时代,也推出了自己的无线应用App。为了能够尽快上线,MyShop团队的架构师设计了v2架构,它为App端新增了一个Nginx反向代理,可以使App入口直接访问API微服务。 但是,这个急于求成的v2架构存在以下问题: (1)App端和内部的API微服务存在一个强耦合的关系(包括接口耦合和域名耦合)

微服务架构中的BFF到底是啥?

我们两清 提交于 2020-07-25 01:19:33
在《 技术中台与业务中台都是啥玩意 》一文中留下一个问题:BFF是啥?为啥在API网关和业务中台之间加入了一层BFF?考虑到在实际工作中,我的大部分同事都问过这个问题,这里我也总结一下进行答复。 一、从一个MyShop开始说起 为了讲清BFF是个啥,这里引用我在波波老师的课程《Spring Boot与K8s云原生应用开发》中学到的一个案例,来跟大家分享一下,并尽力说清楚BFF是啥,又是如何演化出来的。 假设我们在一个开发团队中,开发了一个叫做MyShop的电商项目,它采用的是微服务的架构风格。它经历过几次架构调整,我们就跟着它的调整来看看BFF是怎么演化出来的。 假设v1版本在七八年之前,MyShop已经采用了服务化的架构,它的客户端也主要还是以传统的Web应用为主。在当时,它的SOA架构已经算是跟上了潮流。 转眼之间,来到了四五年前,MyShop升级为了v2版本,它的架构如下图所示: 可以看到,这个时候已经进入了移动互联网时代,MyShop为了紧跟时代,也推出了自己的无线应用App。为了能够尽快上线,MyShop团队的架构师设计了v2架构,它为App端新增了一个Nginx反向代理,可以使App入口直接访问API微服务。 但是,这个急于求成的v2架构存在以下问题: (1)App端和内部的API微服务存在一个强耦合的关系(包括接口耦合和域名耦合)