SpringCloud个人理解

我们的项目是一个mvc项目,开始在生产环境下跑起来没啥问题,慢慢的,访问量在曾多,项目有些慢。同时可以预见的是往后的访问量会越来会多,这个时候很明显我们的服务器肯定有一天会扛不住,

这个时候有两个选择:

1、增加服务器硬件,比如加大内存。

2、服务架构更改。分布式或者微服务。

如果先择1;

优点:效果很明显,我们加了内存,系统短时间会很明显的变快。

缺点:长时间来看,这个作用微乎其微,过一段时间,访问量增加,又要增加内存。同时成本会更加的大。

如果选择2:

优点:可以随着访问量的增加,增加部署的服务个数。

缺点:如果访问量不大,微服务的成本会比单体成本高很多。

单体项目改成微服务架构。

单体项目改成微服务架构,思路1:

直接将单体服务布置多份,这样子去减轻单体的访问需求。优点也很明显,改动小,只需要对网关进行一个负载均衡配置即可。这样子同样缺点也很明显,服务层的数量增多了,但是数据库的访问压力并没有减小。同时单服务的请求处理时间还是会很长,在数据库也会很容易发生故障。同时每个服务处理事件的时间没有减少。

思路二

对系统进行服务层次拆分。例如下单的服务,就需要1、创建订单。2、减少库存。3、计算优惠。4、创建物流信息等。如果是单体服务,这么多的流程,会需要很久才能走完,如果请求多了,请求会都积压在系统里。整体的性能会很慢很慢。这样子的情况下,服务就很容易宕掉。这个时候我们如果对服务进行拆分,将每个流程单独拆分称服务,同时每个服务部署多个节点,这样子就可以抵抗较高的并发。同时由于每个服务都会有自己的数据库,这样子对数据库的访问压力也会变小。

当服务的数量增加,随之而来的问题也会增加。

1、网关、如何确保前端的请求可以均匀的分发下去。

2、网络、各个系统之间如何通信且保证服务宕掉后可以自动断开。

3、注册、如何确保你的服务可以被其他服务发现。

4、配置、如何保证各个系统的配置一致,同时易于修改。

而这几个问题的解决方案就是spring cloud。

Eureka

提供者配置

可以在

 查看对应服务信息

对应上述的描述服务的连接名字 

DiscoveryClient可以通过该接口获取对应的服务信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值