一:缓存——热数据 热点数据(经常会被查询,但是不经常被修改或者删除的数据),首选是使用redis缓存,毕竟强大到冒泡的QPS和极强的稳定性不是所有类似工具都有的,而且相比于memcached还提供了丰富的数据类型可以使用,另外,内存中的数据也提供了AOF和RDB等持久化机制可以选择,要冷、热的还是
转载 2023-05-11 11:21:13
171阅读
场景1:某三方接口所有方法都需要Mock 实现方式1-配置configrution bean 实现方式2-在application context中配置mock bean 场景2:某三方接口部分方法mock 实现方式1-spy方式: 实现方式2-callRealMethod(): 场景3:影响范围只
转载 2018-08-21 13:48:00
29阅读
2评论
nginx是通过配置文件来启动和使用的,需要实现什么功能只需要进行配置即可。 一、配置静态网站 样例: server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; ...
转载 2021-07-23 15:29:00
194阅读
2评论
面临的问题对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题。特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序运行离崩溃的边缘也不远了。很多小网站的开发人员一开始都将注意力放在了产品需求设计上,缺忽视了程序整体性能,可扩 展性等方面的考虑,结果眼看着访问量一天天网上爬,可突然发现有一天网站因为访问量过大而崩溃了,到时候哭都来
原创 2021-01-07 22:31:00
773阅读
官网概述: Apache ZooKeeper致力于开发和维护可实现高度可靠的分布式协调的开源服务器。分布式问题: 1.分布式协作算法很复杂,实现起来很困难; 2.分布式系统中更容易出现资源竞争或死锁现象; 3.由应用实现分布式协作会导致部署上的困难;复制代码1.简介1.1 概述Zookeeper是一个高性能、分布式的开源的协作服务;提供一系列简单的功能,分布式应用可以在此基础上实现例如数据发布/订
转载 2021-01-30 10:57:06
244阅读
2评论
1.前言之前自己写了一些关于Zookeeper的基础知识,Zookeeper作为一种协调分布式应用高性能的调度服务,实际的应用场景也非常的广泛,这里主要通过几个例子来具体的说明Zookeeper在特定场景下的使用方式(下面的这些功能估计consul和etcd也能实现,以后学到了再说吧)。2.具体应用 2.1.一致性配置管理 我们在开发的时候,有时候需要获取一些公共的配置,比如数据库连接信息等,并且
转载 2021-12-20 16:48:47
112阅读
何为OCR ?OCR的全称为“Optical Character Recognition” 中文翻译为光学字符识别。它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机和人都能够理解的形式的过程。先来看一个简单的OCR的流程:第一步,通过图像信息采集(一般就是相机),得到包含了待识别字符的图像,分析结构。第二步,运用阈值操作等一些图像处理的方法对待测...
转载 2021-08-30 16:26:34
1247阅读
Druid介绍Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、扩展性方面,都超过其他数据库连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid是阿里巴巴开发的号称为监控而生的数据库连接池!同时Druid不仅仅是一个数据库连接池,它包括四个部分:Druid是一个JDBC组件。基于Filter-Chain模式的插件体系
1,什么是缓存,缓存的作用是什么? (1)缓存是数据交互的缓冲区域,简称cache,当某一个硬件想要读取数据是,会首选从缓存中获取数据,有则直接执行,或者返回,如果没有,去内存中获取。缓存的数据比内存的数据快很多。所以缓存的作用就是让硬件更快速的运行 缓存基本上都是RAM,即断电即掉的非永久性存储,所以一般使用完后后,会将数据写入内存中去。 高速缓存猪主要是用来协调CPU和朱村之间的存取速度的差异
原创 2022-01-14 13:45:23
262阅读
推荐大家关注一个公众号点击上方 "编程技术圈"关注,星标或置顶一起成长后台回复“大礼包”有惊喜礼包!每日英文You don`t always have to be nic...
转载 2021-08-15 15:52:53
106阅读
对于大部分系统来说,mapdb(而且新版本还依赖于kotlin,增加了不少额外的jar)并无太大价值,而且增加了成本。但是如果一级缓存巨大例如数以十GB级别,或占据了整个JVM的1/2以上,mapdb的价值就会体现出来。正如其官网介绍: MapDB provides Java Maps, Sets,
原创 2021-07-20 13:52:59
1024阅读
1.使用场景 - 不同的移动客户端访问 - 需要访问第三方的项目 2.访问第三方应用的方式 ISO的七层模型 : 物理层、数据链路层、网络层、传输层、表示层、会话层、应用层 - Socket访问 : Socket属于传输层,它是对Tcp/ip协议的实现,包含TCP/UDP,它是所有通信协议的基础,H
web
原创 2021-07-15 10:41:39
551阅读
作者 | 永远_不会懂1.前言之前自己写了一些关于Zookeeper的基础知识,Zookeeper作为一种协调分布式应用高性能的调度服务,实际的应用场景也非常的广泛,这里主要通过几个例子来具体的说明Zookeeper在特定场景下的使用方式(下面的这些功能估计consul和etcd也能实现,以后学到了再说吧)。2.具体应用2.1.一致性配置管理我们在开发的时候,有时候需要获取一些公共的配置
转载 2022-04-01 16:04:04
90阅读
1.1 介绍 ​ Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多生产者、多订阅者,基 于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日 志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并 ...
转载 2021-08-14 23:32:00
4075阅读
2评论
作者 | 永远_不会懂 1.前言 之前自己写了一些关于Zookeeper的基础知识,Zookeeper作为一种协调分布式应用高性能的调度服务,实际的应用场景也非常的广泛,这里主要通过几个例子来具体的说明Zookeeper在特定场景下的使用方式(下面的这些功能估计consul和etcd也能实现,以后学到了再说吧)。 2.具体应用 2.1.一致性配置管理 我们在开发的时候,有时候需要获取一些公共的配
转载 2021-08-19 10:50:52
160阅读
我们在使用Golang时,不可避免会遇到异常情况的处理,与Java、Python等语言不同的是,Go中并没有try...catch...这样的语句块,这个时候我们如何才能更好的处理异常呢?本文来教你正确方法−目录前言error调用栈前言在Go的编程中, error的使用场景数不胜数, 主要就是用来处理各种异常情况.长久以来, 我的使用方式都是这样的:1234err := errors.N
原创 7月前
223阅读
蓝鸥iOS培训讲师推荐:上一节为大家介绍的是iOS中的应用生命周期问题,那么这节紧接上节内容,继续整理出来的是应用启动场景介绍。景描述:用户点击应用图标的时候,可能是第一次启动这个应用,也可能是应用终止后再次启动。该场景的状态跃迁过程,如图:共经历两个阶段3个状态:Notrunning→Inactive→Active。在Notrunning→Inactive阶段。调用application:did
原创 2013-11-04 15:40:51
489阅读
powershell语法介绍powershell相当于Windows cmd的升级版,但是语法更为友好,并且支持tab自动补全,不用记住繁琐的命令。基础语法规则powershell最基础的语法结构为:(动词-名词)/别名+空格+-+参数名称+空格+参数内容比如:#获取系统日志Get-WinEvent -LogName system#开启服务Start-Service -Name BITS#设置服务
原创 2023-02-15 23:11:08
431阅读
​简介​​1、压测不同的协议和应用 1) Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …) 2) SOAP / REST Webservices 3) FTP 4) Database via JDBC 5) LDAP 轻量目录访问协议 6) Message-oriented middleware (MOM) via JMS
原创 2022-02-22 14:40:40
343阅读
1.为什么选择Netty 需要了解了Socket通信(IO/NIO/AIO)编程,对于通信模型已经有了一个基本的认识。,果想把这些真正的用于实际工作中,那么还需要不断的完善、扩展和优化。比如经典的TCP读包写包问题,或者是数据接收的大小,实际的通信处理与应答的处理逻辑等等一些细节问题需要认真的去思考
转载 2019-12-04 16:40:00
406阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5