今天生产环境库存的soa服务出现大量fullgc,并且出现大量重启,影响到前台用户的使用,分析原因是有一个导出excel操作导致,那么这个导出(后台)怎么出现在从命名看给前台提供服务的soa中那?
理想的设计是基于领域,基于前后端分离等纬度进行微服务划分独立部署,那么这个服务应该拆分成两个soa,服务就合理啦,
但是现实是骨感的,人手有限,就一个开发人员,服务器有限,拆的太细好处显而易见业务隔离,互不影响,骨感就在于人与机器的有限,没办法只能公用,降低人力成本,那怎么破那,其实有的时候服务隔离并不一定需要拆独立服务,我们能不能在同一个soa服务里面将业务线比如前后台的资源隔离开那,并且可以指定隔离开后各自的资源,这样不就变相达到了互不影响了吗?
有的,那么分一下究竟竞争的是什么资源那,内存与cpu,内存的话我们限制导出大小,cpu我们可以做线程隔离,将不同的业务隔离开来,互补影响,自己的资源耗尽就报错,曲线救国啦。
网友评论