暂时未有相关云产品技术能力~
java相关
主从副本架构可能存在风险
单机架构与主从架构简介
开发一个软件系统,对其要求越来越高,如果你了解一些「架构设计」的要求,就知道一个好的软件架构应该遵循以下 3 个原则: 1. 高性能 2. 高可用 3. 易扩展
冗余设计是保证系统和数据高可用的最常的手段。
什么是高可用
消息队列如何选择
分布式消息队列Pulsar
RPC 和消息队列的区别
JMS 和 AMQP简介
mq实现分布式事务
什么是消息队列
ShardingSphere 绝对可以说是当前分库分表的首选!ShardingSphere 的功能完善,除了支持读写分离和分库分表,还提供分布式事务、数据库治理等功能。另外,ShardingSphere 的生态体系完善,社区活跃,文档完善,更新和发布比较频繁
分库分表
读写分离主要是为了将对数据库的读写操作分散到不同的数据库节点上
关于MQTT 协议
Websocket实现消息推送的方式
服务端向客户端推送消息,其实除了可以用WebSocket这种耳熟能详的机制外,还有一种服务器发送事件(Server-Sent Events),简称 SSE。这是一种服务器端到客户端(浏览器)的单向消息推送。
使用Web 实时消息推送详解
关于数据库设计
我们可以把存储过程看成是一些 SQL 语句的集合,中间加了点逻辑控制语句。存储过程在业务比较复杂的时候是非常实用的,比如很多时候我们完成一个操作可能需要写一大串 SQL 语句,这时候我们就可以写有一个存储过程,这样也方便了我们下一次的调用。存储过程一旦调试完成通过后就能稳定运行,另外,使用存储过程比单纯 SQL 语句执行要快,因为存储过程是预编译过的。
数据库知识基础,这部分内容一定要理解记忆。虽然这部分内容只是理论知识,但是非常重要,这是后面学习 MySQL 数据库的基础。
Redis v4.0 之后有了 Module(模块/插件) 功能,Redis Modules 让 Redis 可以使用外部模块扩展其功能 。布隆过滤器就是其中的 Module。详情可以查看 Redis 官方对 Redis Modules 的介绍:https://redis.io/modules
关于布隆过滤器使用简单情形
关于敏捷开发
Redis集群伸缩,转移插槽失败解决方法
在一个调用链路中既然要实现上述方案,必然需要针对调用链路进行监控,从某一个端点对流量做拦截、隔离等处理,这一个链路特征我们叫做:簇点链路。
常见微服务保护技术对比Sentinel
应用的硬件、软件架构在涉及到部署时,一般会根据实际请求量做一定的压力测试,以测试系统稳定性、健壮性,避免后续线上未知故障。假设在一个电商的秒杀场景下,订单中心本身能够承载的QPS预设是10W,因为活动的火爆导致流量瞬时达到100W,此时订单中心因无法承载其10倍的请求将会崩溃,那么对于整个分布式架构系统会产生什么问题呢?本节我们将借助于Sentinel的流量控制、隔离降级来解决上述分布式架构中常见的雪崩问题
Saga 模式是 Seata 即将开源的长事务解决方案,由蚂蚁金服主要贡献
TCC模式与AT模式非常相似,每阶段都是独立事务,不同的是TCC通过人工编码来实现数据恢复。
关于AT与XA的区别
Seata中的四种不同的事务模式XA篇
Seata是 2019 年 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。致力于提供高性能和简单易用的分布式事务服务,为用户打造一站式的分布式解决方案
各人如何实现微服务架构
单体应用与微服务架构区别
如何Ribbon自定义负载均衡策略
Nacos注册中心的思考总结
Seata的部署和集成
关于git的规范
线上代码经常会出现CPU占用过高的情况,按以往经验我会使用top指令,进一步借助于jstack去查看具体信息从而进行问题排查,但基本上都逃不过需要重新发包的局面,即使是一个增量包,应用也需要短暂停启。后来运维大兄弟让我试一下Arthas,说是可以进行代码的热更新操作,正好来试一下。
数据架构重要的输出是数据-实体关系图,简称 ER 图。ER 图中包含了实体(数据对象)、关系和属性 3 种基本成分。ER 图可以用来建立数据模型。如何准确的建立产品的数据模型,需要分解出业务需要什么样的数据。数据域的分解过程是站在业务架构的基础上,对业务域进行模型分析的过程。
如何画系统时序图
如何画应用架构图
如何画业务架构图
trace指令能追踪调用链路,而Springmvc应用都是借助于:javax.servlet.Servlet * 执行的 watch指令能够实时监测指定方法的:返回值,抛出异常,入参,同时支持OGNL操作
函数式编程。就像添加注释一样 在Java 5中创造了机会(例如带注释的REST控制器或单元测试),该 在Java 8中添加lambda表达式为Java中的函数式API创造了机会。 这对于非阻塞应用程序和延续式 API 来说是一个福音(正如普及的那样 by 和 ReactiveX),允许声明式 异步逻辑的组合。在编程模型级别,Java 8启用了Spring。 WebFlux 提供功能性 Web 端点以及带注释的控制器。