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