发表于: 2017-06-10 22:56:43

3 1278


今天完成的任务:

    今天学习了scollop和本地一台服务器上前后端联调,虽然最后没有成功,但是学到了很多东西.

     成果1:前后端联调是在前后端分离的情况下碰到的一个新问题.如果是远程服务器,需要经常部署已经写好的代码到测试服务器上,方便前端或者后端测试使用.这样就会碰到跨域问题,而且还要每天把新的代码发布到测试服务器上去.

     然而本地测试可运行的代码,部署到服务器上不一定通过,而且遇见的问题,可能只是环境配置的锅,此时前后端程序员只需要的时互相得到对方的资源数据,而不是两者如何连接.这些问题,后期通过运维也能解决,而且频繁的更换配置文件,接口改动,无形中也增加了前后端沟通协作的成本,抵消了分离带来的好处.

     如何解决?现在还在摸索中,大家也没有一个统一可靠的答案,自己想到的是把前后端的代码放在一台机器上,就像开发机上面前后端代码在一起一样.方便开发和调试.


     成果2:本地联调水太深,到最后也没有成功,可以成功的看到前端单独测试代码,后端单独测试代码,但如何前后端合在一起,看了开发机上得Nginx配置头都大了.很多配置自己见都没见过.

     前端测试:

      

后端测试:

但是没有办法像开发机上这样有数据有图像:

   成果3:在后端代码部署到本地的过程中学习了一波scollop,tuscany远程调用的实现机制.

事实上,因为用的是线上部署代码,里面的代码配置没有改,也不会改,在本地的时候获取不到数据报错,师兄帮查找原因才了解到这个过程中tuscany的rmi和scollop的锅.简单的说,就是在web调用service的时候是通过下面这里

http://scallop.resource.center:8182

提供的服务来完成转接,而具体开发机上的8182这个端口就是提供scallop的转接服务的,scallop.resource.center本身由一个独立的项目部署后在开发机上运行,为任何项目提供这种转接服务,而识别是从哪个项目过来的服务是通过起了代号(或者叫化名,在文件中配置),然后用一张resource表来维护.

后面的10740是子项目service提供的serviceimpl服务.通过scallop把web和service链接起来了.

具体来说,在我这里因为是本地提供的service服务.所以要在hosts文件中把service提供服务的地址改成

127.0.0.1  carrots.replay.home.service

然后启动service home-web,admin-web,一切就OK了.

遇到的问题:

    原来以为,本机测试前后端一起搞应该不难,后来卡住之后,在网上搜索才知道,前后端分离后的联调是个大难题,本机一起联调基本很少资料,大部分是远程测试服务器和本地联调,跨域的解决等等.难道本机一体真的不现实吗?看开发机上前端代码和后端代码部署在一台服务器上,但他们的resin.xml和Nginx.conf配的很复杂,有很多段都不知道什么意思.如果前后端代码在一个机器上得话,需要那么复杂吗.

收获:

    搭建环境这一块和任务九的内容扎实多了.虽然没有完全解决问题,在整个框架算是立起来了.加油!

明天的计划:

    把公司列表接口,公司明细这连个接口写出来继续搭建环境的学习.


返回列表 返回列表
评论

    分享到