![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微服务
文章平均质量分 92
电商技术进阶
电商开发,技术进阶
展开
-
基于Sentinel实现微服务API限流
基于Sentinel实现微服务API限流 1.Sentinel介绍 1.1. 简介 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 Sentinel 具有以下特征: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。 完备的实时监控:Sentinel 同时提供原创 2021-08-26 15:18:18 · 866 阅读 · 0 评论 -
SpringBoot2.0整合Sharding-Jdbc实现分库分表
文章目录1.Sharding-Jdbc介绍1.1. 简介1.2.水平分割2.利用SpringBoot实现分库分表2.1.数据源设定2.2.pom.xml添加相关依赖2.3.配置数据源及分库分表策略2.4.代码实现2.4.1.项目整体结构2.4.2.pojo层2.4.3.dao层2.4.4.service层2.4.5.controller层2.4.6.启动类3.测试分库分表3.1.添加数据3.2.查询数据3.3.总结 当业务发展到一定程度,分库分表是一种必然的要求,分库可以实现资源隔离,分表则可以降低单表数据原创 2020-11-07 13:34:26 · 1998 阅读 · 4 评论 -
基于数据库实现微服务动态路由
一、概述 随着微服务在各个项目中使用越来越普遍,大多数公司选择使用Spring Cloud框架或者Dubbo来实现项目落地。 因此,在说动态路由之前,笔者先带大家来对比下这两个框架。 从性能效率上来看:dubbo 使用了 netty 比 spring cloud 的 http 快很多。大概是 2 倍的差距。 从开发效率上来看:公司同学一般都会 spring,入门 spring cloud 的门槛...原创 2020-03-11 21:00:01 · 581 阅读 · 0 评论 -
Spring AOP与动态代理
AOP(Aspect-Oriented Programming:面向切面编程)能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。 Spring AOP使用的动态代理,所谓的动态代理就是说AOP框架不会去修改字节码,而是在内存中临时为方法生成一个AOP对象,这个AOP对...原创 2020-02-23 20:48:14 · 510 阅读 · 0 评论 -
Java策略模式在电商项目中的使用
背景:随着电商网站业务的发展,会有越来越多的用户。我们会将用户分为新用户,老用户,VIP用户和MVP用户。对于不同的用户类型,商品的购买折扣和邮费也有所不同。那么如何避免在service中写大量的if/else来判断用户类型,这就是本篇笔者要介绍的,策略模式的落地使用。 一、了解策略模式 (1)定义 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。 (2)类图 (3)使用场景 ...原创 2020-01-02 17:58:18 · 813 阅读 · 1 评论 -
布隆过滤器及入门使用
一、什么是布隆过滤器? 布隆过滤器(英语:Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。 二、布隆过滤器的使用场景 网页爬虫对URL的去重,避免爬取相同的URL地址; 反垃圾邮件,从数十亿个垃圾邮件...原创 2019-12-22 01:43:15 · 1998 阅读 · 0 评论 -
SpringBoot配置双数据源+Mycat实现分库分表
一、背景 随着时间和业务的发展,数据库中的数据量增长是不可控的,库和表中的数据会越来越大,随之带来的是更高的磁盘、IO、系统开销,甚至性能上的瓶颈,而一台服务的资源终究是有限的,因此需要对数据库和表进行拆分,从而更好的提供数据服务。 MySQL单库数据量在5000万以内性能比较好,超过阈值后性能会随着数据量的增大而变弱。MySQL单表的数据量是500w-1000w之间性能比较好,超过1000w性能...原创 2019-11-27 19:44:52 · 1480 阅读 · 0 评论 -
使用SpringBoot2.0+DockerFile+Maven插件构建镜像并推送到阿里云仓库
一、创建SpringBoot工程 首先我们创建一个SpringBoot工程,建议使用IDEA 商业版,搭建比较方便。选用SpringBoot 2.1.3.RELEASE + SpringCloud Finchley.RELEASE作为技术选型。本文笔者以微服务的注册 中心Eureka为例,来做后面的演示。 添加的依赖有: <dependencies> &amp原创 2019-03-07 21:54:11 · 4772 阅读 · 6 评论