- 博客(105)
- 资源 (10)
- 收藏
- 关注
原创 DDD中限界上下文映射
在DDD(领域驱动设计)中,限界上下文(Bounded Context)是一个显式的边界,内部包含了领域模型及其相关的应用逻辑。一个限界上下文通常对应一个模块,模块间的映射关系可以通过上下文映射图(Context Mapping)来表达。上下文映射图是一种工具,用于可视化不同限界上下文之间的关系,以及它们如何相互集成。通过这种方式,可以清晰地表达DDD中模块(限界上下文)间的映射关系,帮助团队理解系统架构和集成策略。在表达模块间映射关系时,可以使用上下文映射图来可视化这些关系。
2024-06-24 19:12:21
397
原创 Postgresql12基于时间点恢复
恢复时间点 2022-03-10 16:42:00 (创建两张表之间的时间点就行)在2022-03-10 16:40:00 创建表dog 并随意插入几条数据。此后数据库的操作都会记录wal日志文件到/home/archive目录下。给创建的归档目录授权777 然后再次重启 并查看 日志 看该报错是否消失。等待适当时间,在16:43:00创建表cat 并随意插入几条数据。如果恢复后数据库中存在dog表,不存在cat表 则试验成功。如果归档目录中没有内容,需要执行强制日志归档命令。模拟数据库故障,停掉数据库。
2023-08-19 15:35:16
1085
1
转载 访问Docker容器部署DjangoAPI超时 read timeout
访问Docker容器部署DjangoAPI超时 read timeout
2022-08-14 14:23:22
469
原创 Gunicorn部署django报异常 server closed the connection unexpectedly
Gunicorn部署django报异常 server closed the connection unexpectedly
2022-08-14 14:06:07
1869
原创 Django报错 has noattribute“objects“
Django报错 has noattribute"objects"在model目录中_init_.py文件中配置上类名和文件名的对应关系from apps.xxx.monitor.models.sys_files import SysFiles
2022-02-12 11:46:09
1297
原创 CPU冲高分析过程
一:背景1. 讲故事这个月初,一位朋友加微信求助他的程序出现了 CPU 偶发性爆高,希望能有偿解决一下。从描述看,这个问题应该困扰了很久,还是医院的朋友给力,开门就是100块红包 ????????????,那既然是偶发性爆高,人工不行,还得用procdump自动抓,用procdump -ma -s 5 -n 2 -c 70 w3wp埋伏好,几天后如愿生成了两个dump,太妙了,接下来就用 windbg 分析吧。二:Windbg 分析1. 真的是cpu爆高吗一切只相信数据,这里用!
2021-12-27 10:44:18
874
原创 JWT认证概念
JWT 介绍JWT 即 JSON Web Token,是用 JSON 形式安全传输信息的方法。我们可以在jwt.io上在线解析 token,可以清楚看懂 JWT 的数据结构。对 JWT 解码,可以得到以下内容:Header:TOKEN 的类型,就是JWT,签名的算法,如 HMAC、 SHA256 Payload:携带的信息,比如用户名、过期时间等,一般叫做 Claim Signature:签名,是由header、payload 和你自己维护的一个 secret 经过加密得来的。JW..
2021-12-24 09:51:49
1875
原创 3种基础的 REST 安全机制
安全是 RESTful web service 的基石,我们主要讨论以下3种主要的方法:Basic authentication Oauth 2.0 Oauth 2.0 + JWT1. Basic authentication这是最古老、最简单的方法。形式username + password + Base64。工作机制假设一个用户要登录 Facebook 账号,查看:feed 流、消息、好友、组,这4个服务都是独立的。用户提交用户名密码之后,系统验证后允许进入,然而系统是
2021-12-15 17:17:34
288
原创 Docker部署若依项目(前端服务)
文章目录Docker部署若依项目(前端服务)目录一、 往常部署二、制作docker镜像1.打包ruoyi-ui文件2.创建目录,并上传3.Nginx配置文件编写4.Dockerfile文件编写5.构建测试一、 往常部署如果我们不用docker部署,我们会怎样部署前端项目呢?项目打成dist文件上传服务器下载nginx(docker下载或者压缩包安装)配置nginx的端口转发ok,我们就基于这个流程来将我们的前端项目做成docker镜像二、制作d
2021-11-16 10:00:33
2181
原创 多列索引的使用
Mysql数据库提供两种类型的索引,如果没正确设置,索引的利用效率会大打折扣却完全不知问题出在这。正在上传…重新上传取消CREATE TABLE test ( id INT NOT NULL, last_name CHAR(30) NOT NULL, first_name CHAR(30) NOT NULL, PRIMARY KEY (id), INDEX name (last_name,first_name) )
2021-10-25 14:42:58
1017
原创 MVCC 具体实现分析--读高性能Mysql
MVCC 具体实现分析下面,我们通过InnoDB的MVCC实现来分析MVCC使怎样进行并发控制的.InnoDB的MVCC,是通过在每行记录后面保存两个隐藏的列来实现的,这两个列,分别保存了这个行的创建时间,一个保存的是行的删除时间。这里存储的并不是实际的时间值,而是系统版本号(可以理解为事务的ID),没开始一个新的事务,系统版本号就会自动递增,事务开始时刻的系统版本号会作为事务的ID.下面看一下在REPEATABLE READ隔离级别下,MVCC具体是如何操作的.2.1简单的小例子creat.
2021-10-22 17:17:15
121
原创 介绍六种开源协议
GPL,LGPL,BSD,MIT,Apache,Mozilla这六种首先来一张图,图是照着网上大神自己画了一遍LGPLLGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代.
2021-07-22 11:16:32
208
原创 评测题目--两线程
//评测题目: 共计9个苹果,有2只猴子,一个猴子每次拿2个苹果,一个猴子每次拿3个苹果,如果剩余的苹果不够猴子每次拿的数量,则2只猴子停止拿苹果。我给的答案:public class Apple{ public int appleCount=9; public static void main(String args[]){ Apple apple=new Apple(); Thread m1=new Thread(new Monkey(2,ap...
2021-07-06 19:31:51
207
原创 String和Array的长度(length)的区别
在Java中, 求长度有一个令人混淆的地方, 就是求String和Array的方式是不同的.对于Array, length是一个数据成员(a data field). a = new int [100]; a.length;对于String, length是方法(a method). String a = "abcde"; a.length();...
2021-05-20 15:46:12
492
转载 MySQL和Lucene(Elasticsearch)索引对比分析
MySQL和Lucene都可以对数据构建索引并通过索引查询数据,一个是关系型数据库,一个是构建搜索引擎(Solr、ElasticSearch)的核心类库。两者的索引(index)有什么区别呢?以前写过一篇《Solr与MySQL查询性能对比》,只是简单的对比了下查询性能,对于内部原理却没有解释,本文简单分析下两者的索引区别。MySQL索引实现在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式。MyISA
2021-03-27 15:47:38
338
转载 2020最新Java工程师面试题-Dubbo
1、为什么要用 Dubbo?(文末可领取完整版,记得点赞,关注,分享给个支持哈)随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA).也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系统的服务治理框架就出现了,Dubbo 也就这样产生了。**2、Dubbo 的整体架构设计有哪些分层?**接口服务层(Service):
2021-03-06 15:30:10
173
原创 Dubbo工作流程
dubbo整体架构其中Service 和 Config 层为 API,对应服务提供方来说是使用ServiceConfig来代表一个要发布的服务配置对象,对应服务消费方来说ReferenceConfig代表了一个要消费的服务的配置对象。可以直接初始化配置类,也可以通过 spring 解析配置生成配置类。 proxy 服务代理层:扩展接口为 ProxyFactory,dubbo实现的SPI主要JavassistProxyFactory(默认使用)和JdkProxyFactory,用来对服务提供方和服.
2020-11-27 15:07:21
461
原创 Dubbo可扩展机制实战
摘要:在Dubbo的官网上,Dubbo描述自己是一个高性能的RPC框架。今天我想聊聊Dubbo的另一个很棒的特性, 就是它的可扩展性。1. Dubbo的扩展机制在Dubbo的官网上,Dubbo描述自己是一个高性能的RPC框架。今天我想聊聊Dubbo的另一个很棒的特性, 就是它的可扩展性。 如同罗马不是一天建成的,任何系统都一定是从小系统不断发展成为大系统的,想要从一开始就把系统设计的足够完善是不可能的,相反的,我们应该关注当下的需求,然后再不断地对系统进行迭代。在代码层面,要求我们适当的对关注点进.
2020-11-26 19:21:04
204
原创 Java 函数解析
1、computeIfAbsent// 方法定义default V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) { ...}// java8之前。从map中根据key获取value操作可能会有下面的操作Object key = map.get("key");if (key == null) { key = new Object(); map.put.
2020-11-26 16:57:17
297
转载 理解Java wrapper类
ava Wrapper类可将Java的原始数据类型处理为对象的方式。特别是当我们需要一个原始值的对象引用时,这是必需的,因为它们的原形式所需的功能类型(如int,char,double,boolean等)不够。 本文比较详细的介绍了标准API库中提供的这些类的概念。Java中的原类型和引用类型在Java中,类型被指定为基本类型或引用类型。 原类型一次存储单个声明类型的值。 例如,定义为int的变量可以一次存储一个整数。 在存储另一个值的情况下,初始值被新的值替换。 在...
2020-11-26 16:54:38
2064
原创 Java中Annotation用法
Annotation Annotation其实是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,程序开发人员可以在不改变原有逻辑的情况下,在源文件嵌入一些补充信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。 Annotation提供了一条为程序元素设置元数据的方法,从某些方面来看,Annotation就像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明,这些信息被存储..
2020-11-07 15:07:40
840
2
原创 设计模式之策略模式 三国解读
详见通俗易懂:https://www.runoob.com/design-pattern/strategy-pattern.html
2020-10-27 09:49:08
226
原创 GC(Allocation Failure)解读
新生代GC日前查看某个程序的日志,发现一直在报GC相关的信息,不确定这样的信息是代表正确还是不正确,所以正好借此机会再复习下GC相关的内容:以其中一行为例来解读下日志信息:[GC (Allocation Failure) [ParNew: 367523K->1293K(410432K), 0.0023988 secs] 522739K->156516K(1322496K), 0.0025301 secs] [Times: user=0.04 sys=0.00, real=0.01 s
2020-10-13 16:53:16
22494
3
原创 接口继承与接口实例化
1、接口继承java类是单继承的。classB Extends classAjava接口可以多继承。Interface3 Extends Interface0, Interface1, interface……因为类如果可以多继承,实例化时,如果要跳用父类的方法,如果两个一样,根本就不知道该调用那个父类的方法;但是接口就不一样了,因为接口继承多个接口,就算多个接口有相同的方法,但是最终实现接口的类只能实现一个方法且@Override一个方法,所以调用时就不会有问题了...
2020-09-16 14:15:47
424
原创 实现ApplicationContextAware类的调用顺序
1、spring先检查注解注入的bean,并将它们实例化2、然后spring初始化bean的顺序是按照xml中配置的顺序依次执行构造3、如果某个类实现了ApplicationContextAware接口,会在类初始化完成后调用setApplicationContext()方法进行操作4、如果某个类实现了InitializingBean接口,会在类初始化完成后,并在setApplicationContext()方法执行完毕后,调用afterPropertiesSet()方法进行操作...
2020-09-14 16:44:50
2916
原创 开源注册中心选择
开源注册中心选择当下主流的服务注册与发现的解决方案,主要有两种:~应用内注册与发现:注册中心提供服务端和客户端的 SDK,业务应用通过引入注册中心提供的 SDK,通过 SDK 与注册中心交互,来实现服务的注册和发现。~应用外注册与发现:业务应用本身不需要通过 SDK 与注册中心打交道,而是通过其他方式与注册中心交互,间接完成服务注册与发现。1. 应用内采用应用内注册与发现的方式,最典型的案例要属 Netflix 开源的 Eureka,官方架构图如下。对着这张图,介绍下 Eureka
2020-09-14 15:14:55
429
原创 ElasticSearch-SQL
1、Elasticsearch version >6.32、NLPchina/elasticsearch-sqlgithub:https://github.com/NLPchina/elasticsearch-sql
2020-09-08 17:08:51
132
原创 kibana连接ES集群
# Kibana is served by a back end server. This setting specifies the port to use.server.port: 5601# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.# The default is 'localhost', which usually
2020-09-08 15:40:41
1807
转载 elasticsearch集群搭建手册(伪集群搭建)
安装部署创建程序目录安装目录 mkdir /usr/local/elasticsearch mkdir /usr/local/elasticsearch/6.4.3 mkdir /usr/local/elasticsearch/6.4.3/01 #第一个节点 mkdir /usr/local/elasticsearch/6.4.3/02 #第二个节点 mkdir /usr/local/elasticsearch/6.4.3/03 #第三个节...
2020-09-07 17:20:01
323
原创 Supervisor
在 web 应用部署到线上后,需要保证应用一直处于运行状态,在遇到程序异常、报错等情况,导致 web 应用终止时,需要保证程序可以立刻重启,继续提供服务。所以,就需要一个工具,时刻监控 web 应用的运行情况,管理该进程。Supervisor 就是解决这种需求的工具,可以保证程序崩溃后,重新把程序启动起来等功能。Supervisor是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动、重启(自动重启程序)、关闭进程...
2020-09-07 16:56:31
174
云原生架构白皮书.pdf
2020-10-26
SecureCRT_6.7.0.15.rar
2016-12-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人