捉虫大师 捉虫大师
3年前
dubbo的前世今生
背景在很久以前,网站应用是单体应用的架构,流量小,所有功能、代码都部署在一起,成本低。此时数据库访问框架ORM是关键。后来流量逐渐增大,单体应用被拆分为互不相干的多个应用,这就是垂直架构,此时加速前端页面开发的Web框架MVC是关键。再后来,垂直应用越来越大,应用间的交互不可避免,分布式服务框架RPC变成了关键。dubboRPC,全称RemoteProc
Easter79 Easter79
3年前
springboot整合redis缓存一些知识点
前言最近在做智能家居平台,考虑到家居的控制需要快速的响应于是打算使用redis缓存。一方面减少数据库压力另一方面又能提高响应速度。项目中使用的技术栈基本上都是大家熟悉的springboot全家桶,在springboot2.x以后操作redis的客户端推荐使用lettuce(生菜)取代jedis。jedis的劣势主要在于直连redis,又无法做到
Wesley13 Wesley13
3年前
mysql基础之mysql双主(主主)架构
一、概念在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动。因此,如果是双主或者多主,就会增加mysql入口,增加高可用。不过多主需要考虑自增长ID问题,这个需要特别设置配置文件,比如双主,可以使用奇偶,总之,主之间设置自增长ID相互不冲突就能
Stella981 Stella981
3年前
HarmonyOS分布式任务调度开发之
背景最近基于HarmonyOS在写一个通讯录的项目,已经完成了一个java版本的通讯录,通讯录数据全部存储在sqlite数据库中。现在在着手写一个JS版本的通讯录,这时候关于JS版本中数据的读取,我做了3个版本,一个版本是JS里面存储的静态数据,一个版本是javaSpringboot做了一个服务端进行http网络交互,前面两个是我们在Andro
Wesley13 Wesley13
3年前
Java 线程池原理分析
1.简介线程池可以简单看做是一组线程的集合,通过使用线程池,我们可以方便的复用线程,避免了频繁创建和销毁线程所带来的开销。在应用上,线程池可应用在后端相关服务中。比如Web服务器,数据库服务器等。以Web服务器为例,假如Web服务器会收到大量短时的HTTP请求,如果此时我们简单的为每个HTTP请求创建一个处理线程,那么服务器
Stella981 Stella981
3年前
Qt编写数据可视化大屏界面电子看板12
一、前言数据采集是整个数据可视化大屏界面电子看板系统核心功能,没有数据源,这仅仅是个玩具UI,没啥用,当然默认做了定时器模拟数据,产生随机数据,这个可以直接配置文件修改来选择采用何种数据采集方法,总结了一下基本上会有这样几种数据源,timer模拟数据db数据库采集tcp网络采集httppost请求,大量的web会选择采用http作
Stella981 Stella981
3年前
Spring Security修炼手册(一)————初识Security
   在以前做东西的时候,对于认证鉴权的框架技术选型,通常使用ApacheShiro,可能是接触比较早,感觉用起来比较方便的原因,知道最近接了一个好大好大的项目分布式应用大数据数据库私有IaaS云PaaS,埋头苦学一星期,算是吃透了SpringSecurity的一半,那么一是为了记录在学习过程中的知识点,二是为了让没有接触过安全框架,或者还在使用
Stella981 Stella981
3年前
JVM内存泄漏导致内存溢出(OOM)的场景
一、概念1\.内存泄漏:对象使用完之后,没有按照预期被GC回收,一直留在内存中2\.内存溢出:大量对象一直留在内存中,导致内存不够用(OOM),影响正常的程序运行二、内存泄漏的场景1\.内存中数据量太大,比如一次性从数据库中取出来太多数据2\.静态集合类中对对象的引用,在使用完后未清空(只把对象设为null,而不是从集合中移除),
Wesley13 Wesley13
3年前
MySQL应对高并发之Redis缓存
高并发高并发(HighConcurrency)是指系统运行过程中的一种“短时间内遇到大量操作请求”的情况,主要发生在web系统集中大量访问收到大量请求,例如淘宝双十一、京东618类的活动。该情况的发生会导致系统在这段时间内执行大量操作(对资源的请求、数据库的操作等)。高并发相关常用的一些指标有:响应时间、吞吐量、每秒查询率QPS、并发用户数
Stella981 Stella981
3年前
Python配置管理的几种方式
一、为什么要使用配置如果我们在较复杂的项目中不使用配置文件,我们可能会面临下面的情况:你决定更改你的项目中数据库的host,因为你要将项目从测试环境转移到实际的上产环境中。如果你的项目中多个位置用到了这个host,那你不得不一个一个找到这些位置再修改成新的host。花了半天,然后过了一天,你发现项目在生产环境