摘要: 如何设计出一个好的架构,不像数据公式或者定律,很难一概而就。很多时候是设计者(架构师)的各种设想,各种权衡折中而符合系统需求的智慧输出。但我们掌握前人总结的经验,让我们站在巨人的肩膀上高山远瞩。一些好的架构设计原则可以确保设计决策在一定程度上能够满足需求。 形成架构原则的过程 形成架构原则的过程 架 阅读全文
posted @ 2022-02-14 22:56 残城碎梦 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 为什么要有Java内存模型 可见性,由缓存导致的可见性问题。 有序性,由编译优化导致的有序性问题。 原子性,由线程切换导致的原子性问题。 Java内存模型就是为了解决可见性和有序性问题。 什么是Java内存模型(JMM) 注意:JVM内存模型与Java内存模型是两个不一样的东西。 JVM内存模型:具 阅读全文
posted @ 2022-02-14 18:41 残城碎梦 阅读(267) 评论(0) 推荐(0) 编辑
摘要: Lua简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 从 2.6版本 起, Redis 开始支持 Lua 脚本 让开发者自己扩展 Redis。 Redis中使用Lua的好处: 减少网络开销,在 L 阅读全文
posted @ 2022-02-14 16:22 残城碎梦 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 服务器性能查看 CPU性能查看 查看物理CPU个数: cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l 查看每个物理CPU中的core个数: cat /proc/cpuinfo |grep "cpu cores"|wc -l 逻辑CPU的个数 阅读全文
posted @ 2022-02-14 13:29 残城碎梦 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 作为一名后端程序员,和Linux打交道的地方很多,不会看Linux日志,非常容易受到来自同事和面试官的嘲讽,所以掌握一种或者几种查看日志的方法非常重要。 Linux查看日志的命令有多种:tail、cat、tac、head、echo等,本文只介绍几种常用的方法。 grep命令 Linux 文本操作的三 阅读全文
posted @ 2022-02-14 13:11 残城碎梦 阅读(2799) 评论(0) 推荐(0) 编辑
摘要: 基础概念 在mongodb中是通过数据库、集合、文档的方式来管理数据,下边是mongodb与关系数据库的一些概念对比: SQL 术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数 阅读全文
posted @ 2022-02-14 12:43 残城碎梦 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 数据库管理系统 数据的定义:文字、图像、地理位置信息(坐标、经纬度)等。 数据库管理系统的定义:建立、存取和管理数据,保证数据安全和完整性的软件。 常见的数据库管理系统: 关系型:MySQL、Oracle、SQL Server、Db2等 非关系型:MongoDB、Redis、HBase等 NOSQL 阅读全文
posted @ 2022-02-14 11:38 残城碎梦 阅读(138) 评论(0) 推荐(0) 编辑
摘要: web服务器概述 Web服务器一般指的是“网站服务器”,是某种驻留在因特网上的计算机程序,可以向请求终端提供服务,主要功能时存储、处理和传递网页给“客户”,传递内容一般是HTML文档、图像、样式表或脚本等,也可以放置网站文件以供浏览或下载。 WEB服务器也称为WWW(Word Wide Web)服务 阅读全文
posted @ 2022-02-14 11:30 残城碎梦 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 聚合框架有助于根据搜索查询提供聚合数据。聚合查询是数据库中重要的功能特性,ES作为搜索引擎兼数据库,同样提供了强大的聚合分析能力。它基于查询条件来对数据进行分桶、计算的方法。有点类似于 SQL 中的 group by 再加一些函数方法的操作。聚合可以嵌套,由此可以组成复杂的操作(Bucketing聚 阅读全文
posted @ 2022-02-14 08:24 残城碎梦 阅读(614) 评论(0) 推荐(0) 编辑