自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (26)
  • 收藏
  • 关注

原创 如何保证多机房数据的一致性

Raft算法是分布式强一致性算法,易于理解且广泛使用。相比Paxos算法,Raft算法更加直观,且能保证数据操作的顺序。应用如etcd、Kafka等都采用了Raft算法。

2024-04-16 17:29:12 365

原创 DDD领域驱动设计实战

文章最后提供了一个DDD重构的路线图,包括头脑风暴、设计限界上下文、微服务设计等六个步骤。同时,提出了几个思考题,鼓励读者思考DDD的最大价值和如何成功落地DDD。

2024-04-16 15:53:04 863

原创 分析系统性能问题从哪里入手?

以上是对文档内容的概括性总结,每个大点下的小点是对主要内容的进一步细化。通过这些总结,可以更清晰地理解高性能架构的关键要素和优化方法。

2024-04-16 15:37:55 364

原创 限流器“Diana”护网站和服务免受突发高并发流量的冲击

Diana支持多种限流规则,包括全局限流、账号限流、设备限流和资源限流。本地限流在单个服务器上记录请求,而远程限流则通过共享的配置中心或Redis进行请求记录。:Diana使用YAML格式的配置文件,其中包含限流的资源地址、限流对象、时间单位、请求数限制、限流范围和算法等配置项。:作为技术中间件,限流器需要具备易用性和扩展性,以满足不同业务场景的需求,并能够在技术层面提供有效的支持和优化。:Diana能够在配置中心或Redis服务器不可用时自动降级,使用本地配置或限流,以保持系统的高可用性。

2024-04-15 21:30:47 156

原创 微博如何应对高并发

对于用户关注的微博内容更新,系统采用推拉结合的策略。:对于写操作(如发表微博),使用消息队列来平滑数据库写入压力,避免因高并发写入导致数据库崩溃。:采用用户ID分片策略,将微博数据分散到多个数据库服务器上,以提高查询效率和系统的扩展性。:应用服务器使用Redis缓存来快速检索用户关注的最新微博,减少对数据库的直接查询压力。:通过CDN和反向代理服务器来减轻带宽压力和处理用户请求,如图片和视频的缓存。:使用时间淘汰算法,缓存最近7天内的所有微博内容,以减少数据库查询压力。

2024-04-15 21:28:18 187 1

原创 go channel 的底层实现原理 (数据结构)

一、Channel的基本概念与特性 1.类型安全:Channel数据类型确定,发送和接收数据类型必须一致,保证传输安全。2.阻塞式通信:当接收方或发送方等待数据时,会阻塞执行,避免浪费资源。二、Channel底层结构 1.hchan结构体:包含指向接收/发送缓冲区指针,Channel容量,发送接收者数量等。三、发送与接收过程 1.发送数据:发送方将数据插入发送缓冲区,唤醒等待接收方。四、关闭与垃圾回收 1.close操作:关闭Channel,无法再发送接收数据,触发垃圾回收。3.先进先出(FIFO)

2024-04-08 16:40:45 478

原创 Go语言支持重载吗?如何实现重写?

然而,可以通过方法重写(override)来实现类似的功能。方法重写是指在子类中定义一个与父类同名的方法,从而覆盖父类中的方法。Go语言不支持传统意义上的函数和方法重载。在Go语言中,函数名或方法名不能相同但参数列表不同,因为这会导致编译错误。尽管Go语言没有传统意义上的函数和方法重载,但通过方法重写,可以实现类似的功能,从而满足不同场景下的需求。中重写后的方法,而不是父类。方法时,实际调用的是子类。

2024-04-08 16:07:10 315

原创 Go语言中如何实现多态

在Go语言中,虽然没有像其他面向对象语言(如Java或C++)中那样的显式的类继承和多态机制,但通过接口和方法的组合,可以实现类似多态的效果。通过接口和方法的组合,可以很方便地实现多态的效果,在不同的上下文中实现相同的方法调用表现出不同的行为。多态是指在不同的上下文中,同样的方法调用可以表现出不同的行为。在Go语言中,可以通过接口来实现多态。函数,分别传入了圆形对象和矩形对象,实现了不同的行为。分别是圆形和矩形的结构体,它们都实现了。函数中,通过多态的方式,调用了。是一个接口,定义了一个方法。

2024-04-08 16:04:26 457

原创 Go语言中如何实现继承

Go语言中没有传统意义上的类和继承的概念,但可以通过嵌入类型(embedded types)来实现类似的功能。嵌入类型允许一个结构体类型(子类型)包含另一个结构体类型(父类型)的字段和方法。虽然Go语言中没有传统意义上的继承概念,但嵌入类型提供了一种更加灵活和简洁的方式来实现类似的功能。类型的方法,同时还可以定义自己的方法。类型的所有字段和方法。

2024-04-08 16:02:46 359

原创 io多路复用 和 事件驱动的关系

I/O多路复用是一种机制,允许一个进程同时监视多个I/O通道(如网络连接、文件描述符等),并在其中任何一个I/O通道上发生事件时进行处理。这样,一个进程可以同时管理多个I/O操作,而不需要为每个I/O通道创建一个单独的线程或进程。在事件驱动的编程模型中,通常会使用I/O多路复用机制来实现并发I/O操作的监听。这样,程序就可以同时监听多个I/O通道,而不会因为等待某个I/O通道的事件而阻塞。总的来说,I/O多路复用和事件驱动是在处理并发I/O操作时常用的两种技术,它们通常结合使用,以实现高效的并发编程。

2024-04-08 16:01:44 333

原创 通俗拟人 描述 epoll和select区别 ,用同一种场景对比区别

使用 select 的场景下,你需要手持地图,依次查看每个地区的送货地址,然后选择一个地区,前往派送包裹。但是,当你到达某个地区时,即使客户没有包裹需要派送,你仍然需要等待一段时间,直到下一个地区的客户需要你的服务。当你到达一个地区时,你不需要等待客户的包裹需求,而是直接拨打电话询问客户是否有包裹需要派送。只有当有客户需要派送包裹时,你才会花时间派送包裹,而不需要在每个地区等待。使用 epoll 时,你可以更高效地利用时间,因为你不会在每个地区等待,而只会在有需要时才等待。

2024-04-08 16:01:04 147

原创 通俗易懂地解释Go语言不同版本中垃圾回收机制的演进过程

Go 1.5 - 三色标记法 这种方式就像有三个箱子,白色箱子装新物品,灰色箱子装暂时需要的物品,黑色箱子装长期需要的物品。打扫时先从需要保留的主物品开始,将它和它直接相连的东西放入灰色箱子。然后再从灰色箱子里将相连的其它需要的物品放入黑色箱子,周而复始,直到灰色箱子空了。取出时如果是白色或灰色的物品,也标记为灰色。同时,主人打扫时,先将自己正在使用的物品标记为黑色,然后新放入的也是黑色,避免了中断正常活动。这个过程虽然直观,但暂停其他活动会带来很大影响,而且检查全部物品和处理没用物品也都耗费时间和空间。

2024-04-07 16:32:23 603

原创 游戏设计心理学

这些是游戏设计心理学中更深层次和更具体的原则和概念,设计师可以结合自己的项目需求和目标受众选择适合的原则进行应用和实践。通过深入理解这些原理,设计师可以更加精准地设计游戏,满足玩家的需求,并创造出更有吸引力和影响力的游戏作品。

2024-04-01 21:03:51 229

原创 《架构师程序员面试题》Kubernetes(简称 K8s)入门教程

Kubernetes(简称 K8s)是一种开源的容器编排和管理平台,它能够自动化地部署、扩展和管理容器化的应用程序。Kubernetes 提供了丰富的监控和管理工具,包括 Kubernetes Dashboard(用于可视化管理集群)、Prometheus(用于监控集群性能)、Grafana(用于可视化监控数据)等。它的目标是简化容器化应用程序的部署、扩展和管理,提供高度可靠和可扩展的基础设施。Kubernetes 允许根据需求扩展集群的规模,以满足应用程序的需求。

2024-03-28 11:50:42 651 1

原创 《程序员架构师面试题》Zabbix、Prometheus 的区别 相对于 ebpf对服务器性能的影响

Zabbix和Prometheus是两种流行的监控系统,而eBPF(Extended Berkeley Packet Filter)是一种用于增强Linux内核功能的技术。

2024-03-28 10:55:31 311 1

原创 《程序员架构师面试题》linux cache 和buffer通俗解释

综上所述,Linux中的Cache和Buffer都是用于优化文件系统性能的重要机制,它们通过将数据存储在内存中,减少了对磁盘的读写操作,从而提高了文件的访问速度和系统的整体性能。Linux中的Cache和Buffer是用于优化文件系统性能的关键概念,它们都是存储在内存中的临时数据。

2024-03-28 10:54:34 263 1

原创 《架构师实战面试题》限流、降级、熔断 手段通俗解释

熔断是一种保护系统稳定性的手段,用于在系统出现故障或异常情况下,及时中断对故障组件的访问,以避免故障扩散和进一步的系统崩溃。在分布式系统中,熔断会监控对某个服务或组件的请求,如果请求失败或超时达到一定阈值,熔断机制将中断对该服务的请求,而不是继续尝试。降级是一种应对系统压力的手段,用于在系统资源不足或出现故障的情况下,减少对关键功能的依赖,以保证系统的基本功能仍然可用。通过限制请求的速度,可以保护系统免受过多的负载和资源耗尽的影响,确保系统的稳定性和可用性。

2024-03-26 17:27:50 242

原创 排序、搜索、动态规划、贪心算法等 通俗拟人解释一下

例如,冒泡排序就像是两个人相邻交换位置,每次比较两个相邻的元素,如果它们的顺序不正确,就交换它们的位置,直到整个序列有序。它始终选择在当前情况下看起来最好的选择,而不考虑未来可能出现的情况。例如,二分搜索算法可以将一本有序的书籍翻到中间页,然后根据目标信息与当前页的比较结果,决定继续在前半部分还是后半部分继续搜索,以此类推,直到找到目标信息或确定无法找到。这些拟人化的解释旨在以生动的方式描述算法的基本概念,但请记住,算法是一种形式化的思维工具,其具体实现和性质可能更加复杂。

2024-03-26 16:28:12 128

原创 动态规划核贪心算法 在服务器业务开发的具体场景中的应用

需要注意的是,具体的服务器业务场景可能更加复杂,可能需要结合其他算法和技术来解决。在实际应用中,根据具体问题的特点和要求,选择合适的算法和技术来解决服务器业务的挑战。:在服务器集群中,负载均衡是一种常见的技术,用于将客户端请求分配到不同的服务器上,以实现服务器资源的均衡利用。贪心算法可以应用于资源分配的决策,选择当前空闲资源最多的服务器进行任务分配,以最大化资源的利用效率。贪心算法可以根据任务的优先级选择最高优先级的任务先进行处理,以提高关键任务的响应速度和用户体验。

2024-03-26 16:27:16 303 1

原创 《架构师实践》微服务拆分 降低对业务开发的影响

因此,在进行架构重构时,建议进行充分的规划和评估,并与相关的团队和利益相关者进行充分的沟通和协调。同时,采用适当的工具和技术,如自动化部署、持续集成等,可以提高拆分过程的效率和质量。这样可以确保不同微服务之间的交互和通信是清晰和规范的,减少对业务开发的影响。在每个阶段中,只拆分一小部分功能,这样可以限制对业务开发的影响,并逐步推进整个架构转换过程。并行开发和部署:在拆分过程中,尽可能进行并行的开发和部署。适当的测试和监控:在拆分后,确保进行适当的测试和监控,以确保新的微服务和整体系统的稳定性和性能。

2024-03-26 15:19:58 124

原创 《架构师实践》微服务 SOA、DDD 区别和联系

微服务架构强调的是通过拆分应用程序为独立的、自治的服务,每个服务专注于一个具体的业务功能。它倾向于更小粒度的服务,使得服务之间的解耦更加彻底,同时也带来了一些挑战,如服务间的通信、数据一致性等。与微服务相比,DDD更加关注业务领域的建模和设计,而不是架构层面的拆分和通信。与微服务相比,SOA通常更加企业级化,服务粒度较大,强调服务的可复用性和集成。在实施微服务架构时,需要仔细考虑组织的技术能力、团队的规模和复杂性、应用程序的特点等因素,并权衡其带来的利弊。

2024-03-26 15:18:45 148

原创 《架构师实践》MEA 架构评估方法

定量评估可以使用度量指标、仿真工具或模型检测技术等,以量化地评估系统在性能、可靠性、可用性等方面的表现。分析可以包括对性能瓶颈的识别、系统可靠性的分析、资源利用率的评估等。MEA架构评估方法的目标是帮助架构师和开发团队在系统设计和实现之前,对系统的关键属性进行评估和分析。通过此方法,可以发现潜在的问题,提前进行改进和优化,从而确保系统具备良好的性能、可靠性和可用性。模型(Model):首先,建立系统架构的模型。需要注意的是,MEA方法是一个通用的架构评估方法,可以根据具体的应用场景和需求进行定制和扩展。

2024-03-26 15:18:02 105

原创 《架构师实践》CAP、FLP、BASE 理论

在异地多活架构中,由于网络延迟和分区等因素,BASE理论提供了一种折衷方案,允许系统在一段时间内处于部分一致性的状态。CAP 理论(Consistency, Availability, Partition tolerance):CAP理论是分布式系统中的一个基本原则,指出在面临网络分区(Partition)时,分布式系统无法同时保证一致性(Consistency)、可用性(Availability)和分区容忍性(Partition tolerance)。

2024-03-26 15:17:26 173

原创 史上最快的golang入门教程(三)写文件

代码】史上最快的golang入门教程(三)写文件。

2022-08-15 21:28:26 187 1

原创 kubeadm 部署全过程问题解决记录

第一步 apt-get install kubeadm出现问题 Unable to locate package kubeadm执行 apt-get update出现问题Err:1 http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial InRelease The following signatures couldn't be verified because the public key is not available.

2022-01-31 22:55:34 1306

原创 Golang 检查元素在slice中是否存在 模仿Php实现arrary_In

正常的我们会自己写一个这样的方法,但是很不通用,因为有时候是查找int 有时候查找stringfunc Find(slice []string, val string) (int, bool) {for i, item := range slice {if item == val {return i, true}}return -1, false}所以为了扩展性我推荐一个git库...

2021-10-19 11:25:35 228

转载 MySQL查询优化之explain的深入解析

在分析查询性能时,考虑EXPLAIN关键字同样很管用。EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作、以及MySQL成功返回结果集需要执行的行数。explain 可以帮助我们分析 select 语句,让我们知道查询效率低下的原因,从而改进我们查询,让查询优化器能够更好的工作。一、MySQL 查询优化器是如何工作的MySQL 查询优化器有几个目

2015-09-30 15:08:46 510

原创 Web UI⾃动化测试平台,专治Web 的各种疑难杂症。

Web UI⾃动化测试平台,专治Web 的各种疑难杂症。• Totoro - https://github.com/totorojs/totoro• Dalekjs - http://dalekjs.com/index.html• Automaton - http://indigounited.com/automaton/• Selenium - http://www.seleni

2015-09-23 10:33:54 736

原创 yum错误---Running Transaction

yum错误---TypeError: rpmdb open failed 一、错误信息今天使用yum的时候出现的报错,如下是报错和解决的办法rpmdb: Thread/process 28879/3086964416 failed: Thread died in Berkeley DB libraryerror: db4 error(-30975) from dbe

2014-07-03 13:26:17 2928 3

原创 CentOS6.2安装redmine2.3

第1步:安装支持插件和其它插件;[root@localhost/]# yum -y install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel[root@localhost /]# yum –y install gcc gcc-c++ make wget lrz

2014-04-28 15:30:22 1496

原创 php遍历一个目录 并重命名

/**********************一个简单的目录递归函数第一种实现办法:用dir返回对象***********************/function tree($directory) { $mydir = dir($directory); echo "<ul>\n"; $i=1; while($file = $m...

2013-09-04 16:48:36 190

转载 windows下常见php集成环境安装包介绍(updated)

windows下常见php集成环境安装包介绍(updated)September 4, 2010 | 作者:猪肉有毒    WAMP是指在Windows服务器上使用Apache、MySQL和PHP的集成安装环境,可以快速安装配置Web服务器,一般说来,大家都习惯于将Apache、MySQL、PHP架设在Linux系统下,但是,不可否认的是Windows也有其优点,就是易用,

2013-07-31 21:42:22 18187

原创 ThinkSNS 仿蘑菇街 社区购物分享系统

   我是在www.thinksns.com又过一年微博开发经验的php资深程序员有需要的朋友请联系 QQ:601046124 价格便宜  另有 出售 并可承担后续技术支持 ThinkSNS 仿花瓣 仿知美 兴趣图谱分享系统ThinkSNS 仿堆糖 社区购物分享系统ThinkSNS 仿美丽说 社区购物分享系统       ...

2013-02-16 22:59:48 183

原创 php生成extjs下拉树json数据格式

菜单项curd以及extjs下拉树json数据构造[code="java"]

2012-08-01 18:02:41 142

原创 thinkphp+extjs +jquery CMS管理系统

thinkphp+extjs +jquery CMS管理系统  thinkphp+extjs +jquery CMS管理系统   使用了extjs 下拉树 下拉多选树  下拉表格 下拉多选框等组件http://blog.aigouw.net/博客有源码下载地址 和预览地址 ...

2012-07-16 11:47:15 194

原创 extjs多选下拉树

extjs多选下拉树发表于 2012 年 7 月 15 日 由 q601046124extjs多选下拉树     extjs多选下拉树 详情 见  http://blog.aigouw.net/?p=17var menu = new Ext.ux.ComboBoxCheckTree({name:’cname’,fieldLabel : ‘|_列表’,hi...

2012-07-16 11:14:18 392

基于 Go 语言构建企业级的 RESTful API 服务 企业级go gin 开发框架 附带源码

基于 Go 语言构建企业级的 RESTful API 服务 企业级go gin 开发框架 附带源码

2023-01-04

可做成qq导购应用 淘宝客Php 破解 系统 多多

可做成qq导购应用 淘宝客Php 破解 系统 个人亲测

2014-01-16

淘宝数据包制作软件2013如果制作淘宝数据包

淘宝数据包制作软件2013如果制作淘宝数据包 可以迅速制作数据包

2013-11-14

51CTO下载-shopex分销王2代企业版最新破解版附11套模板.rar

经本人测试可用 请大家放心使用 附11套模板 给力吧

2013-07-30

thinkphp+extjs

thinkphp+extjs +jquery CMS管理系统 实现多选下拉树 下拉表格

2012-07-15

php mysql 面试题集锦

php mysql 面试题集锦

2012-05-09

extjs中文手册

extjs中文手册、2.0版本的 air

2012-04-25

thinkphp ajax 分页

thinkphp ajax 分页 扩展、自己跟网上找的、bug已经改掉

2012-04-10

netbeans配置及xdebug 单元调试 单独流程调试

netbeans配置及xdebug 调试 单元调试 单独流程调试

2012-03-26

Jquery1.6.1最新手册chm易查版本

Jquery1.6.1最新手册chm易查版本 苦心收集、希望大家喜欢!苦心收集、希望大家喜欢

2011-11-03

php仿谷歌百度分页源代码

php仿谷歌百度分页源代码 代码非原创、只是做了一下修改和完善、qq:601046124 群号7391390希望和大家交流

2010-12-23

ActionScript3.0中文版帮助手册

ActionScript3.0中文版帮助手册、绝对不是骗人的、我下载好多都是骗人的、从网上找了好久这个最好用、分享给大家

2010-10-22

ActionScript 3.0 语言和组件参考 帮助手册

很好用的、查起来很方便、希望对大家有用、ActionScript 3.0 语言和组件参考 帮助手册

2010-10-21

flash二级导航源文件

flash二级导航源文件flash二级导航源文件flash二级导航源文件

2010-10-13

企业网站源码 网站源码

企业网站源码 网站源码 自己收集的企业网站源码非常用

2010-09-03

PHP与MySQL WEB开发圣经中文版.part4.rar

我分四卷上传的、、总共69M、、希望大家喜欢

2010-04-28

PHP与MySQL WEB开发圣经中文版.part3.rar

我分四卷上传的、、总共69M我只能上传20M的东西

2010-04-28

PHP与MySQL WEB开发圣经中文版.part2.rar

我分四卷上传的、、总共69M可我只能上传20M我这里有适合初学者的各种资料、请大家尽情下载

2010-04-28

PHP与MySQL WEB开发圣经中文版.part1

总大小69M我分四卷上传、、我这里有是和php初学学习的及各种资料请大家尽情下载

2010-04-28

完善的php网站源码~~

我将继续提供各种网站源码供大家学习交流~~

2009-12-22

php网站动态签名源代码~

php网站动态签名源代码~希望大家互相交流学习~~

2009-12-22

完善的php网站源代码

3gp php网站完整源代码~~o(∩_∩)o ~~希望大家喜欢~~

2009-12-02

完善的php网站源代码

苦心收集的影视网站源代码~~~o(∩_∩)o ~~很好很完善哦~~

2009-11-19

HTML 完全手册 初学者的首选

HTML 语言教程:目录 -------------------------------------------------------------------------------- 新的特色 *** HTML 标记(Tag)的索引(Index) 页面(Page)  字体(Font)  文字布局(Text Style)  图象(Image)  表单(Form) 表格(Table)  表格进阶(Advanced)  多窗口页面(Frames) 会移动的文字(Marquee)  多媒体页面(Alternative Inline Elements) 详细目录 页面

2009-11-18

悟透JavaScript.pdf

弘忍看了神秀的诗偈也点头称赞,再看慧能的诗偈之后默然摇头。就在当天夜里,弘忍却悄悄把慧能叫到 自己的禅房,将珍藏多年的软件真经传授于他,然后让他趁着月色连夜逃走... 后来,慧能果然不负师父厚望,在南方开创了禅宗另一个广阔的天空。而慧能当年带走的软件真经中就 有一本是《JavaScript 真经》!

2009-11-18

DIVCSS布局大全.pdf

div+css布局入门 你正在学习CSS布局吗?是不是还不能完全掌握纯CSS布局?通常有两种情况阻碍你的学习: 第一种可能是你还没有理解CSS处理页面的原理。在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构,然后再针对语义、结构添加CSS。这篇文章将告诉你应该怎样把HTML结构化。 另一种原因是你对那些非常熟悉的表现层属性(例如:cellpadding,、hspace、align="left"等等)束手无策,不知道该转换成对应的什么CSS语句。当你解决了第一种问题,知道了如何结构化你的HTML,我再给出一个列表,详细列出原来的表现属性用什么CSS来代替。

2009-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除