03 2019 档案
摘要:https://github.com/macrozheng/mall 学习知识点 1、Spring Security 2、@Aspect 3、logstash 4、 es crud templete 5、@Validated 6、Swagger 7、线程池初始化 ref: https://www.c
阅读全文
摘要:1、elasticsearch head安装 集群连不上,修改配置 add http.cors.enabled: true you must also set http.cors.allow-origin because no origin allowed by default. http.cors
阅读全文
摘要:elasticsearchTemplate 和 ElasticsearchRepository JPA中有个ElasticsearchRepository可以做Elasticsearch的相关增删改查,用法和普通的CRUDRepository是一样的,这样就能统一ElasticSearch和普通的J
阅读全文
摘要:何谓时间序列数据库?什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU的使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间序列数据的更重要的一个属性是如何去查询它,包括数据的
阅读全文
摘要:CPU 内存 磁盘 网络 1、理解平均负载 $ uptime 02:34:03 up 2 days, 20:14, 1 user, load average: 0.63, 0.83, 0.88 简单来说,平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和
阅读全文
摘要:https://mp.weixin.qq.com/s/cwU2rLOuwock048rKBz3ew
阅读全文
摘要:1 Java平台 Java采用的是解释和编译混合的模式。它首先通过javac将源码编译成字节码文件class.然后在运行的时候通过解释器或者JIT将字节码转换成最终的机器码。只是用解释器的缺点:抛弃了JIT可能带来的性能优势。如果代码没有被JIT编译的话,再次运行时需要重复解析。只用JIT的缺点:需
阅读全文
摘要:基础架构 更新操作 日志模块 redo log 和 binlog 两阶段提交: prepare commit 事务隔离 读未提交:别人改数据的事务尚未提交,我在我的事务中也能读到。读已提交:别人改数据的事务已经提交,我在我的事务中才能读到。可重复读:别人改数据的事务已经提交,我在我的事务中也不去读。
阅读全文
摘要:协议分层 TCP协议 socket RPC Dubbo GRPC
阅读全文
摘要:1 、秒杀系统架构设计都有哪些关键点 秒杀其实主要解决两个问题,一个是并发读,一个是并发写。并发读的核心优化理念是尽量减少用户到服务端来“读”数据,或者让他们读更少的数据;并发写的处理原则也一样,它要求我们在数据库层面独立出来一个库,做特殊的处理。另外,我们还要针对秒杀系统做一些保护,针对意料之外的
阅读全文
摘要:笔记: 第一部分:泛型编程,讨论了从 C 到 C++ 的泛型编程方法,并系统地总结了编程语言中的类型系统和泛型编程的本质。 我们可以看到,无论是传统世界,还是编程世界,我们都在干一件事情,什么事呢?那就是通过使用一种更为通用的方式,用另外的话说就是抽象和隔离,让复杂的“世界”变得简单一些。 然而,要
阅读全文
摘要:01讲到底什么是微服务? 微服务架构是将复杂臃肿的单体应用进行细粒度的服务化拆分,每个拆分出来的服务各自独立打包部署,并交由小团队进行开发和运维,从而极大地提高了应用交付的效率,并被各大互联网公司所普遍采用。 02讲从单体应用走向服务化 核心是服务的拆分 纵向:业务纬度 横向:独立功能 03讲初探微
阅读全文
摘要:1 高性能 单机: cpu 操作系统 多进程 多线程 集群: 任务分配 任务分解 总结一下所得,性能复杂度主要体现在单台计算机和多台计算机集群两方面。单机复杂度主要考虑多进程、多线程、进程间通信、多线程并发等技术点。集群主要考虑任务分配和任务分解,并且要把握好粒度,逼近性能极限。 2 高可能 系统的
阅读全文
摘要:架构即决策。架构需要面向业务需求,并在各种资源(人、财、物、时、事)约束条件下去做权衡、取舍。而决策就会存在不确定性。采用一些高屋建瓴的设计原则有助于去消除不确定,去逼近解决问题的最优解。1 合适原则架构无优劣,但存合适性。“汝之蜜糖,吾之砒霜”;架构一定要匹配企业所在的业务阶段;不要面向简历去设计
阅读全文
摘要:问题 :如何拆呢? 披萨理论:每个团队的人数不能多到两张披萨都不够吃的地步 “三个火枪手”原则:即一个微服务三个人负责开发 拆分方法: 1. 基于业务逻辑拆分这是最常见的一种拆分方式,将系统中的业务模块按照职责范围识别出来,每个单独的业务模块拆分为一个独立的服务。 2. 基于可扩展拆分将系统中的业务
阅读全文
摘要:概念 SOA: SOA 解决了传统 IT 系统重复建设和扩展效率低的问题,但其本身也引入了更多的复杂性。SOA 最广为人诟病的就是 ESB,ESB 需要实现与各种系统间的协议转换、数据转换、透明的动态路由等功能。 当然,SOA 的 ESB 设计也是无奈之举。回想一下 SOA 的提出背景就可以发现,企
阅读全文
摘要:设计分布式系统的两大初衷:横向扩展(scalability)和高可用性(availability)。“横向扩展”是为了解决单点瓶颈问题,进而保证高并发量下的「可用性」;“高可用性”是为了解决单点故障(SPOF)问题,进而保证部分节点故障时的「可用性」。由此可以看出,分布式系统的核心诉求就是「可用性」
阅读全文
摘要:本文主要介绍4种模式: PPC 是 Process Per Connection 的缩写,其含义是指每次有新的连接就新建一个进程去专门处理这个连接的请求,这是传统的 UNIX 网络服务器所采用的模型。基本的流程图是: TPC TPC 是 Thread Per Connection 的缩写,其含义是指
阅读全文
摘要:关于NoSQL,看过一张图,挺形象:“1970,We have no SQL”->“1980,Know SQL”->“2000,NoSQL”->“2005,Not only SQL”->“2015,No,SQL”。目前,一些新型数据库,同时具备了NoSQL的扩展性和关系型数据库的很多特性。关系型和N
阅读全文