领导让我们把原有的系统各个模块拆成微服务,并独立部署,其他系统通过 iframe 来调用这个微服务,考虑到使用 iframe,有以下两个问题: 1.跨域问题,iframe 需要和父页面进行通信 2.样式问题,iframe 的样式,大小不可能和所有调用它的系统保持一致。
开发起来感觉很棘手,这种方法来做微服务合适吗?是否是最佳实践。
领导让我们把原有的系统各个模块拆成微服务,并独立部署,其他系统通过 iframe 来调用这个微服务,考虑到使用 iframe,有以下两个问题: 1.跨域问题,iframe 需要和父页面进行通信 2.样式问题,iframe 的样式,大小不可能和所有调用它的系统保持一致。
开发起来感觉很棘手,这种方法来做微服务合适吗?是否是最佳实践。
|
1
这能叫微服务。。。
|
|
2
感觉他对微服务没理解吧
|
|
3
跨域问题用反向代理拦截所有模块请求。
样式问题用固定页面大小来做。 实际上楼主领导的方案好几年前在企业 IT 流行过。狭义上讲这不是微服务。 |
|
guagusiJun 2, 2018
4
这微服务的理解也是醉
|
|
5
@picture2200 比如一个订单服务,就是一个 iframe,你提交订单后,还得跨域去通知父页面把窗口关了.蛋疼...
|
|
6
微服务不是这么拆分的。你要做微服务拆分,界面需要保持不变,对请求的处理逻辑再进行拆分,拆分的结果是多个后台进程之间相互调用,而不是靠浏览器去请求多个服务。
|
|
7
重新定义微服务
|
|
hronroJun 2, 2018
8
讲道理,iframe 能不用就不用吧,这东西大部分情况下可以扫进垃圾堆了
|
|
picture2200Jun 2, 2018 via Android
9
|
|
imydouJun 2, 2018
10
aws ecs + elb 非常适合此场景
|
|
jakesJun 2, 2018
11
重新定义微服务。。。
我司 07 年的系统也是这么玩的,但是不叫“微服务”。 你的需求 #9 的方法可解。 |
|
sudozJun 2, 2018
12
你可能对 microservice 有什么误解
|
|
lqyhk1234Jun 2, 2018
13
这种方法一般是服务商向客户提供功能,优点有:
1.客户简单的在页面中嵌入所需功能 2.终端用户使用功能不需要跳转 3.服务商可以防止客户更改其逻辑和表现 比如 Paypal 的嵌入式支付窗口和 Youtube 的嵌入播放器 |
|
dobeleeJun 2, 2018 via Android
14
樓主可能要把古董與現代文明相結合,你們都不懂。
|
|
phodalJun 2, 2018
15
如果是 Angular 2+ 的话,可以看看这篇相关的微服务化架构方案对比: https://github.com/phodal/micro-frontend
|
|
iConnectJun 2, 2018 via Android
16
iframe 再过阵子,都要从 http 协议中清理出去了
|
|
nakesJun 2, 2018
18
iframe?这是微服务都微到前端来了?新潮?。。
|
|
19
@picture2200 能说下这样做的弊端和好处吗
|
|
20
你领导的意思应该是模块化,各模块独立开发,通过统一的接口与前端通信,前端整合各模块内容返回给用户。iFrame 应该只是他了解到的实现方法,你要告诉他现在的流行做法以供他参考和选择,而不是他想到什么你就直接做什么。
淘宝首页就是这样,前端以前是用 PHP 开发,后来改成 Node 了。 http://taobaofed.org/blog/2016/06/02/thing-about-taobao-homepage/ |
|
mezwJun 3, 2018 via iPhone
21
跨域问题可以用 jsonp
|
|
picture2200Jun 3, 2018 via Android
23
@LoremIpSum
好处是: 1. Ajax 请求好实现,不用考虑跨域。 2. 部署停机好控制,假如在工作时段部署的话就可以先从反向代理下掉一台部署一台。 3. 反向代理的常规功能,负载均衡等等。 4. 以后可以在反向代理做网关功能,例如提前处理和加一些隐藏的 header,认证 token 等等。 |
|
picture2200Jun 3, 2018 via Android
24
|
|
ech0xJun 3, 2018 via iPhone
25
这是微服务????
|
|
learnshareJun 3, 2018 via Android
26
这顶多叫页面插件化
|
|
zhjitsJun 3, 2018
27
pjax 了解一下
|
|
mritdJun 3, 2018 via iPhone
28
你怕是对微服务有什么误解吧
|
|
dopdopdopJun 3, 2018
29
ngnix 反向代理
restful api 中间件包装接口 |
|
jatesunJun 3, 2018
30
兄弟你在开玩笑吧
|
|
wellscJun 3, 2018
31
what are you talking about?
|
|
sylar1015Jun 4, 2018
32
如果所有模块都是自己开发,这样是不合适的;
如果是需要集成其他厂家的页面,和自己的系统交互,我也在找这样的方案; |