架构 1.大型网站架构模式1.分层横向2.分割垂直3.分布式--应用和服务、数据和存储、静态资源、分布式配置、分布式计算、分布式锁、分布式文件系统4.集群--使用分布式已经将分层和分割后的模块独立部署,为了可扩展、高可用,需要将模块集群和部署,多服务器部署相同应用构成集群...
Mac安装elasticsearch-- head插件 需要nodejs和git的支持brew install node查看是否安装成功 node -v ➜ ~ node -vv6.9.2➜ ~看到版本,说明安装成功➜ ~ git --versiongit version 2.9.3 (Apple Git-75)➜ ~本机已经有git下载head插件 打开 https://github.com/mobz...
Mac安装docker Docker是一个跨平台的轻量级虚拟机,可移植性非常高,一次部署,终生可用。Docker可以在Linux,Windows,MacOS等平台上安装使用。安装brew cask install dockerUpdating Homebrew...==> Auto-updated Homebrew!Updated 1 tap (homebrew/core).==> Upd...
Lucene学习笔记 Lucene基础小知识 Lucene它不是一个完整的全文搜索引擎。 Lucene只是一个全文检索引擎的框架。 Lucene提供了完成的查询引擎和索引引擎,部分文本分析引擎(英文和德文)。 Lucene只是个工具包,可在此基础上构建全文检索引擎。 Java开发,Apache维护 Lucene的突出优点 索引文件格式独立于应用平台。Lucene定...
ElasticSearch基础 一个基于Lucene的搜索服务器。提供了一个分布式多用户能力的全文搜索引擎,基于RESTful接口。它使用Java开发的。Apache开源的企业级搜索引擎。 Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。 实时分析的分布式搜索引擎。 可以扩展到上百台服务器,处理PB级别的结构化...
Mac安装Kibana Kibana是ES的一个配套工具,让用户在网页中可以直接与ES进行交互。安装:brew install kibana==> Downloading https://homebrew.bintray.com/bottles/kibana-6.5.4.sierra.bottle.tar.gz###############################################...
Mac安装elasticsearch 安装 :brew install elasticsearch==> Downloading https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-6.5.4.tar.gz################################################################...
MongoDB 跟redis一样 ,依旧使用brew安装 ,brew install mongodb失败,OS系统10.12不兼容brew. 官网下载安装包安装路径参见 .bash_profile 文件 /Users/helei/Documents/nosql/mongodb/binhttp://www.cnblogs.com/quickcodes/p/5390482.html ...
秒杀系统 秒杀系统:同一时刻有大量请求争抢购买同一商品。红包,12306。。。涉及大量并发读,并发写。要求系统高可用,高性能,一致性。(快准稳) 高性能:1.数据要尽量少 用户请求的数据尽量少,返回给用户的数据尽量少。数据的网络传输需要时间,服务器处理数据的大小影响CPU压缩和编码消耗。 尽量少依赖其他系统,RCP的协议转化,序列化占用时间较多。(那就要从主业务中抽离单独的秒...
Java图片处理 获取图片网络图片,重新绘图,zip打包ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());zos.putNextEntry(new ZipEntry("我是图片1.png"));注意:1.这里new ZipEntry() 里的是文件名,也就是说打包时可以在这里直接对文件重命名。2.这个名字在...
IntelliJ IDEA For Mac 快捷键 原文地址:http://www.cnblogs.com/wxd0108/p/5295017.htmlMac键盘符号和修饰键说明⌘ Command⇧ Shift⌥ Option⌃ Control↩︎ Return/Enter⌫ Delete⌦ 向前删除键(Fn+Delete)↑ 上箭头↓ 下箭头← 左箭头→ 右箭头⇞ Page Up(Fn+↑)⇟ Page Down(Fn+↓
对Java Serializable(序列化)的理解和总结 1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。2、什么情况下需要序列化 a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候
drop、truncate和delete的区别 drop、truncate和delete的区别(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。 TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。(2)表和索引所占
Zookeeper的功能以及工作原理 1.ZooKeeper是什么?ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户2.ZooKeeper提供了什么?1)文件系统2)通知机制3.Zookeeper文
阿里云Linux下安装Redis https://redis.io/download 查找最新版本进入专用下载目录:wgethttp://download.redis.io/releases/redis-4.0.6.tar.gztar -zxvf redis-4.0.6.tar.gzcd redis-4.0.6make #编译源码mkdir -p /usr/local/re
阿里云Linux下MySQL5.7.20安装 本机是64位,直接用命令安装ps:https://dev.mysql.com/downloads/mysql/去网站看下最新的版本,修改下面命令wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz此处新建MySQL数据库用户及用户组,信
关于SpringBoot bean无法注入的问题(与文件包位置有关)改变自动扫描的包 [html] view plain copyorg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'com.example.SpringBootJdbcDemoApplication.SpringBootJdbcDemoAppli
彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法 导语Http 缓存机制作为 web 性能优化的重要手段,对从事 Web 开发的小伙伴们来说是必须要掌握的知识,但最近我遇到了几个缓存头设置相关的题目,发现有好几道题答错了,有的甚至在知道了正确答案后依然不明白其原因,可谓相当的郁闷呢!!为了确认下是否只是自己理解不深,我特意请教了其他几位小伙伴,发现情况也或多或少和我类似。为了不给大家卖关子,下面我贴出2道题,大家可以尝试解答下:
Java 定时任务表达式 Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但还是有少许明显的区别。区别之一就是 Quartz 的格式向下支持到秒级别的计划,而 UNIX cron 计划仅支持至分钟级。许多我们的触发计划要基于秒级递增的(例如,每45秒),因此这是一个非常好的差异。在 UNIX cron 里,要执行的作业(或者说命令)是存放在 cron 表达式中的,在第六个域位置上。Quar
JAVA多线程的三种实现方式 JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。1、继承Thread类实现多线程继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的