springcloud微服务框架pig学习

springcloud微服务框架pig学习

年底了,外包项目也做完了,抽点空学个新东西,springcloud微服务框架pig.看了下官网介绍,感觉做的还不错

pig框架

自己之前也搭建过springcloud完整的微服务,包含

  • 注册中心
  • 配置中心
  • 网关
  • 监控
  • 熔断
  • 其他各业务应用
image-2 springcloud微服务框架pig学习

自己搭建的框架使用和修改都很方便,但是有一说一,自己是个可怜的后端,前端代码呀界面呀没人管,也没人设计,不可能每次开发项目都要让新安排的前端重新开发一次吧,并且后端框架也是自己一个人维护,时间精力也不够,何况现在的项目基本都属于敏捷开发,没有时间来对框架进行仔细打磨,既要写业务,又要处理可能潜在的bug.所以打算套用一套比较成熟的微服务开发框架.加上之前项目一个外包项目使用了pig框架,因此pig框架成了首选.

打开pig的介绍页面就惊住了,这显然不是一个小团队的搞出来的东西,完整的前端,后端,以及完善的文档,尤其是文档不仅有文字图片说明,居然还录了视频,也是强大,大写的服字.关键是他们现在都还在持续维护更新中

image-3 springcloud微服务框架pig学习

本人是后端,只对后端代码感兴趣,话不多说开干.

拉取代码

git clone https://gitee.com/log4j/pig.git
image-4 springcloud微服务框架pig学习

拉取下来后第一次clean,模块还挺多

image-5 springcloud微服务框架pig学习

修改本地hosts,文件目录C:\Windows\System32\drivers\etc,添加如下内容到hosts文件中,这里根据自己公司的项目填写具体的ip.

127.0.0.1   pig-mysql
127.0.0.1   pig-redis
127.0.0.1   pig-gateway
127.0.0.1   pig-register
127.0.0.1   pig-sentinel
127.0.0.1   pig-monitor
127.0.0.1   pig-job

由于是本地演示,所以填写了本地ip,当然其实也不是本地,通过xshell隧道模式代理成本地的,具体可以参考这篇博客

xshell强大的隧道模式

初始化脚本

image-6 springcloud微服务框架pig学习

找到如上脚本,依次在数据库上执行.执行时需要注意,如果以前使用过pig框架的话,存在数据库的话,需要注意不要被drop了,因为脚本中存在删除语句,因为以前有个项目使用的pig框架,差点就把以前的的项目开发库干掉了.虽然是本地开发环境的,但是一旦干掉还得去其他机器上拉下来还是麻烦.

image-7 springcloud微服务框架pig学习

执行完脚本后应该如下

image-8 springcloud微服务框架pig学习

修改配置

找到如下位置.

image-9 springcloud微服务框架pig学习

搜索项目中需要配置mysql的位置,如上图所示地方进行修改,注意全都需要修改,完成后代码基本上就不需要做其他任何改动了.

启动顺序如下

image-10 springcloud微服务框架pig学习

pig将注册中心和配置中心打包在一起的,并且将配置文件存在数据库中,因此第一个启动后还需要修改配置文件才可以正常启动接下来的应用

第一个启动后打开 http://127.0.0.1:8848/ 显示登陆界面,使用nacos/nacos登陆

image-11 springcloud微服务框架pig学习

找到application-dev.yml编辑,修改redis配置如下,有密码则添加password即可

image-12 springcloud微服务框架pig学习

找到pig-auth-dev.yml和pig-upms-biz.yml以及pig-codegen-dev.yml修改数据源如下

image-13 springcloud微服务框架pig学习

修改完成后提交就等于配置好了我们项目中的redis和mysql数据源.

剩下的应用挨个启动即可.接下来就可以着手开发项目了

如果不喜欢框架自带的pig-upms-biz模块来开发,也可以通过pig自定义模块来写我们的业务代码.

后端基本就到这里了,发现一个算是严重的问题,本地启动的时候非常耗费内存.甚至还出现内存不足闪退的情况.下一步将着手优化如何降低内存的使用