暂无个人介绍
在软件研发这个领域,程序员的终极目标都是想成为一名合格的架构师。然而梦想很美好,但现实却很曲折。
1、路由转发:接收一切外界请求,转发到后端的微服务上去; 2、过滤器:在服务网关中可以完成一系列
互联网产品需要快速迭代开发上线,又要保证质量,保证刚上线的系统,一旦出现问题可以很快控制影响面,就需要设计一套灰度发布系统。
分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器 「分别位于不同的分布式系统的不同节点之上」 。
全局唯一的 ID 几乎是所有系统都会遇到的刚需。这个 id 在搜索, 存储数据, 加快检索速度 等等很多方面都有着重要的意义
分布式发布与订阅系统Apache Kafka在即将发布的2.8版本,使用Kafka内部的Quorum控制器来取代ZooKeeper。
ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效、高可用的分布式协调服务,提供了诸如数
子查询 (Subquery)的优化一直以来都是 SQL 查询优化中的难点之一。关联子查询的基本执行方式类似于 Nested-Loop,但是这种执行方式的效率常常低到难以忍受。当数据量稍大时,必须在优化器中对其进行去关联
Apache Shiro是一个强大且易用的Java安全框架,能够非常清晰的处理认证、授权、管理会话以及密码加密。使用Shiro的易
以一种领域专家、设计人员、开发人员都能理解的通用语言作为相互交流的工具,在交流的过程中发现领域概念,然
如图所示,两个DataSouce的数据就不一致了,一个为1,一个为5。除非接下来有一个新的请求,对x数据发生了变更,才能修正这种现象!否则,你可能永远都发现不了
一、什么是幂等? 看一下维基百科怎么说的:
上图中描述了用户请求到服务器经历了三层的负载均衡,下边分别简单介绍一下这三种负载均衡:
微软在推特也进行了宣传:“向 Microsoft Build of OpenJDK
支付宝推出了新的转账接口alipay.fund.trans.uni.transfer(升级后安全性更高,功能更加强大) ,老转账接口alipay.fund.trans.toaccount.transfer将不再维护,新老接口的一个区别就是新接口采用的证书验签方式。
终于来了,IDEA 2021.1版本正式发布,完美支持WSL 2 版本最大的更新内容,就是支持WSL 2和JAVA 16了。而且除了支持WSL 2,也支持其他形式的“ssh 远程运行”,就像clion
最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?”。 我看网上出现了很多不
与发布者进行可靠的发布确认,发布者确认是RabbitMQ扩展,可以实现可靠的发布。在通道上启用发布者确认后,RabbitMQ将异步确认发送者发布的消息,这意味着它们已在服务器端处理。
1. cd命令 (它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径)
是直接放到 safe-point 安全点检查中,也可以看成是栈帧的load barrier,保证Java线程在返回栈帧之前采取某种操作,把
在应用系统开发中,采用严格的、单一的、真正的的分层架构是可以的,但实际上我们已经采用了多种架构模式设计系统。当多种不同范式的架构混合在一起,你会不会出现“指鹿为马”的现象呢?
1. 概述 在设计模式中,观察者模式是一个比较常用的设计模式。维基百科解释如下:
虽然我们都知道有 23 个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。
本文主要是写给那些想从事中间件开发的同学看的 :) 如果你没有这个打算,那么本文的学习路线非但不实用,还可能会影响你正常的工作 :) 什么是中间件开发?
本篇文章主要介绍的是SpringBoot项目进行全局异常的处理。 SpringBoot全局异常准备
Logback 算是JAVA 里一个老牌的日志框架,从06年开始第一个版本,迭代至今也十几年了。不过logback最近一个稳定版本还停留在 2017 年,好几年都没有更新;logback的兄弟 slf4j 最近一个稳定版也是2017年,有点凉凉的意思。
程,更多是与平台及编程语言相关。 例如 C 语言使用线程和进程都可以(例如 N
ataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具。使得使用者无需开发任何代码就配置一个满足需求的接口。整个接口配置、测试、冒烟、发布。一站式都通过 Dataway 提供的 UI 界面完成。UI 会以 Jar 包方式提供并集成到应用中并和应用共享同一个 http 端口,应用无需单独为 Dataway 开辟新的管理端口。 这种内嵌集成方式模式的优点是,可以使得大部分老项目都
clickhouse 在数据分析技术领域早已声名远扬,如果还不知道可以 点这里 了解下。 最近由于项目需求使用到了 clickhouse 做分析数
网关是一个比较成熟了的产品,基本上各大互联网公司都会有网关这个中间件,来解决一些公有业务的上浮,而且能快速的更新迭代,如
2017年初,我通过一整天的笔试及面试加入一家(某一线城市国资委全资控股)某集团的研究机构(中央研究院)
列与列对比 某个表中,有两列(id和c_id)都建了单独索引,下面这种查询条件不会走索引
悉Spring的同学一定知道,容器刷新成功意味着所有的Bean初始化已经完成,当容器刷新之后Spring将会调用容器内所有实现了ApplicationListener<ContextRefreshedEvent>的Bean的onApplicationEvent方法,应用程序可
经常做后端服务开发的同学,或多或
你是否遇到过配置了logback,启动时却提示log4j错误的情况?像下面这样:
如图是一个简化的下单流程,首先是提交订单,然后是支付。 支付的话,一般是走支付网关(支付中心),然后支付中心与第三方支付渠道(微信、支付宝、银联)交互。 支付成功以后,异步通知支付中心,支付中心更新自身支付订单状态,再通知业务应用,各业务再更新各自订单状态。
Transactional注解标注方法修饰符为非public时,@Transactional注解将会不起作用。例如以下代码。
此文章是关于浏览器的常见问题,大概面试10家遇到6家提问类似问题(主要是大厂和中厂)。
1.对于mysql,不推荐使用子查询和join是因为本身join的效率就是硬伤,一旦数据量很大效率就很难保证,强烈推荐分别根据索引单表取数据,然后在程序里面做join,merge数据。
DDD(Domain Driven Design,领域驱动设计)作为一种软件开发方法,它可以帮助我们设计高质量的软件模型。在正确实现的情况下,我们通过DDD完成的设计恰恰就是软件的工作方式。UL(Ubiquitous Language,通用语言)是团队共享的语言,是DDD中最具威力的特性之一。不管你在团队中的角色如何,只要你是团队的一员,你都将使用UL。
在A之前实例化好。很多时候Spring智能地为我们做好了这些工作,但某些情况下可能不是,比如Springboot的@AutoConfigureAfter注解,
再此之前一直在软件公司工作,虽然累,但是不断的成长不断的学习,不断的接触新鲜血液,同事之间都是搞技术的特别和谐,工作分下
前言 支付是一个安全等级很高的场景,系统间交互的每一条数据的泄露都有可能造成及其大的损失。因此支付时系统间交互的每一
1.1 可能会踩的坑 先来看下Arrays.asList的使用
SpringCloud、SCA,还对接了一些云原生的组件比如 coreDNS 和 sentinel 等。 客户端语言方面目前支持 Java,go python 等主流
不管是不是你负责的;熟悉更多代码,不管是不是你写的。 这样做有很多好处,举几个简单的例
国内现在有大量的公司都在使用 Elasticsearch,包括携程、滴滴、今日头条、饿了么、360安全、小米、vivo等诸多知名公司。 除了搜索之外,结合Kibana、Logstash、Beats,Elasti
它们是否是集中的、共享的资源,从而促进了API对外部实体的暴露与治理? 它们是集群入口(ingress)哨兵,从而可以严格控制哪些用户流量进入或离开集群吗?
"我是培训 + 外包出来的,确实有被甲方嫌弃过"。2016 年从电子信息专业毕业的小右说起这个话题有些落寞。
前言 在一次项目开发中,使用到了Netty网络应用框架,以