
综合实战
文章平均质量分 92
电商技术进阶
电商开发,技术进阶
展开
-
基于Sentinel实现微服务API限流
基于Sentinel实现微服务API限流1.Sentinel介绍1.1. 简介随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控:Sentinel 同时提供原创 2021-08-26 15:18:18 · 934 阅读 · 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 · 2075 阅读 · 4 评论 -
Docker安装Canal与RocketMQ
一、修改MySQL配置1.1 修改my.cnf配置对于自建 MySQL , 需要先开启 Binlog 写入功能,配置 binlog-format 为 ROW 模式,my.cnf 中配置如下log-bin=mysql-bin # 开启 binlogbinlog-format=ROW # 选择 ROW 模式server_id=1 # 配置 MySQL replaction 需要定义,...原创 2020-04-14 18:25:26 · 1468 阅读 · 2 评论 -
UML学习笔记
UML学习笔记类图(Class Diagram):描述类的信息(包括属性、方法),以及类和类之间的关系信息。生成代码,选择菜单栏Tools—>Extension Manager,搜索Java安装并重启StarUML。重启后,点击Tools—>Java—>Generate Code,放到指定的文件夹下即可。用例图(Use Case Diagram):站在系统用户(系统...原创 2020-04-06 17:17:39 · 209 阅读 · 0 评论 -
基于数据库实现微服务动态路由
一、概述随着微服务在各个项目中使用越来越普遍,大多数公司选择使用Spring Cloud框架或者Dubbo来实现项目落地。因此,在说动态路由之前,笔者先带大家来对比下这两个框架。从性能效率上来看:dubbo 使用了 netty 比 spring cloud 的 http 快很多。大概是 2 倍的差距。从开发效率上来看:公司同学一般都会 spring,入门 spring cloud 的门槛...原创 2020-03-11 21:00:01 · 629 阅读 · 0 评论 -
Kafka学习笔记
zk启动bin/zkServer.sh start后台启动kafkabin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &测试生产者消费者创建主题bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic...原创 2020-03-07 18:24:33 · 803 阅读 · 0 评论 -
自定义线程池+自定义拒绝策略+异步获取线程执行结果(Future)
package com.calvin.currency.juc;import java.util.concurrent.BlockingQueue;import java.util.concurrent.CompletableFuture;import java.util.concurrent.ExecutionException;import java.util.concurrent....原创 2020-03-01 19:27:25 · 891 阅读 · 0 评论 -
Java策略模式在电商项目中的使用
背景:随着电商网站业务的发展,会有越来越多的用户。我们会将用户分为新用户,老用户,VIP用户和MVP用户。对于不同的用户类型,商品的购买折扣和邮费也有所不同。那么如何避免在service中写大量的if/else来判断用户类型,这就是本篇笔者要介绍的,策略模式的落地使用。一、了解策略模式(1)定义定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。(2)类图(3)使用场景...原创 2020-01-02 17:58:18 · 887 阅读 · 1 评论 -
布隆过滤器及入门使用
一、什么是布隆过滤器?布隆过滤器(英语:Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。二、布隆过滤器的使用场景网页爬虫对URL的去重,避免爬取相同的URL地址;反垃圾邮件,从数十亿个垃圾邮件...原创 2019-12-22 01:43:15 · 2104 阅读 · 0 评论 -
SpringBoot配置双数据源+Mycat实现分库分表
一、背景随着时间和业务的发展,数据库中的数据量增长是不可控的,库和表中的数据会越来越大,随之带来的是更高的磁盘、IO、系统开销,甚至性能上的瓶颈,而一台服务的资源终究是有限的,因此需要对数据库和表进行拆分,从而更好的提供数据服务。MySQL单库数据量在5000万以内性能比较好,超过阈值后性能会随着数据量的增大而变弱。MySQL单表的数据量是500w-1000w之间性能比较好,超过1000w性能...原创 2019-11-27 19:44:52 · 1568 阅读 · 0 评论