电商项目
文章平均质量分 74
Ivyvivid
这个作者很懒,什么都没留下…
展开
-
如何gitlab添加成员到项目?
根据提示创建,网上很多教程。原创 2023-08-08 21:49:18 · 1928 阅读 · 0 评论 -
Sentinel详细使用步骤
服务熔断,当某服务出现不可用或响应超时的情况时,为了防止整个系统出现雪崩,暂时停止对该服务的调用。停止是说,当前服务一旦对下游服务进行熔断,当请求到达时,当前服务不再对下游服务进行调用,而是使用设定好的策略(如构建默认值)直接返回。暂时是说,熔断后,并不会一直不再调用下游服务,而是以一定的策略(如每分钟调用 10 次,若均返回成功,则增大调用量)试探调用下游服务,当下游服务恢复可用时,自动停止熔断。随着微服务的流行,服务和服务之间的稳定性变得越来越重要。原创 2023-07-31 22:23:53 · 2998 阅读 · 0 评论 -
如何设计秒杀--附实现代码
秒杀一、秒杀架构设计1、简单架构设计2、复杂架构设计二、业务设计流程1、上架秒杀商品2、页面渲染1.网关配置2.秒杀商品详情页3、秒杀1.登录校验2.合法性校验3.预扣减库存4.MQ异步下单5.订单服务订阅MQ消息,创建订单三、秒杀活动关注点1、架构设计原则1.动静分离2.热点数据预热3.多级缓存限流4.提高性能5.设计高可用6.分布式锁2、落地解决方案一、秒杀架构设计1、简单架构设计2、复杂架构设计二、业务设计流程1、上架秒杀商品通过定时任务触发,分布式锁解决分布式秒杀服务重复上架商品问原创 2023-07-28 23:34:55 · 280 阅读 · 0 评论 -
线程池应用场景使用
Future是Java 5添加的类,用来描述一个异步计算的结果。你可以使用isDone方法检查计算是否完成,或者使用get阻塞住调用线程,直到计算完成返回结果,你也可以使用cancel方法停止任务的执行。虽然Future以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便,只能通过阻塞或者轮询的方式得到任务的结果。阻塞的方式显然和我们的异步编程的初衷相违背,轮询的方式又会耗费无谓的CPU资源,而且也不能及时地得到计算结果,为什么不能用观察者设计模式当计算结果完成及时通知监听者呢?原创 2023-07-23 15:44:07 · 1174 阅读 · 0 评论 -
为什么跨域以及如何解决
跨域网站介绍:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS。由于浏览器的同源策略,即属于不同域的页面之间不能相互访问各自的页面内容。实际开发中,对于跨域问题的解决我们统一在Gateway中设定即可。:同源策略,单说来就是同协议,同域名,同端口。原创 2023-07-20 10:20:31 · 46 阅读 · 0 评论 -
新增的服务,验证码出现问题
出现503错误的原因是Gateway网关服务中会根据loadbanlance负载均衡路由到renren-fast但是缺少了对应的依赖,在Gateway服务中添加即可。解决方案:gateway中添加新服务路由。然后测试访问验证码出现了503的错误。问题:发现入口验证码图片不显示。原创 2023-07-20 10:11:14 · 56 阅读 · 0 评论 -
非常完整的电商架构
常用的RPC框架有:Dubbo,Google的GRPC,Apache的Thrift,微博的Motan,京东的EasyRPC等。里面有很多的配置信息的有关联的,而且对于后期的更新维护也会非常的不方便,这时配置中心就上场了。因为微服务中的服务实在是太多了,为了能更好的监控个服务的情况,肯定就需要链路监控服务,我们可以通过sleuth(Alibaba)+zipkin来实现,应用层监控,系统级监控。我们可以通过Ribbon来实现客户端的负载均衡,负载均衡的策略可以是:轮询,随机,根据响应时间来计算权重的轮询等。原创 2023-07-19 13:12:04 · 926 阅读 · 0 评论 -
系统架构是如何演化进阶呢
上面的集群部署是可以解决一部分的服务器压力,但是随着用户访问量的增多,集群节点增加到一定阶段的时候,其实作用就已经不是太大了,因为将所有的业务都集中在一起,造成耦合度很高,这时我们可以考虑业务的拆分。服务垂直化拆分后是可以大大的提高整体的服务处理能力,但是也会出现很多的冗余的代码,比如用户系统要操作订单库,要操作商品库,订单系统也有可能要操作用户库和商品库等。单体架构只适合在应用初期,且访问量比较少的情况下使用,优点是性价比很高,开发速度快,成本低,但缺点也很明显,这时扩展的首先就是考虑服务器的集群处理。原创 2023-07-19 12:55:29 · 129 阅读 · 0 评论