首页 > 其他分享 >Tips(烂笔头)

Tips(烂笔头)

时间:2023-04-05 18:35:32浏览次数:30  
标签:笔头 复用 Kafka 池子 进程 Tips 序列化 连接

1、数据,只有序列化后,才方便进行网络传输:序列化就是将数据结构或对象转换成二进制串的过程,也就是编码的过程,序列化后,会把数据转换为二进制串,然后可以进行网络传输;反序列化就是在序列化过程中所生成的二进制串转换成数据结构或者对象的过程,将二进制转换为对象后业务才好进行后续的逻辑处理。常见的序列化协议如下

  • Protocol Buffer(PB)
  • JSON
  • XML
  • 内置类型(如 java 语言就有 java.io.Serializable)

2、池化技术是非常常见的一个提高性能的技术,池化的核心思想就是对资源进行复用,减少重复创建销毁所带来的开销。复用就是创建一个池子,然后再在这个池子里面对各种资源进行统一分配和调度,不是创建后就释放,而是统一放到池子里面来复用,这样可以减少重复创建和销毁,从而提高性能。而这个资源就包括我们编程中常见到如 线程资源、网络连接资源、内存资源,具体到对应的池化技术层面就是 线程池(协程池)、连接池、内存池等。

——连接池。这个是最常用的,一般我们都要操作 MySQL、Redis 等存储资源,同样的,我们并不是每次请求 MySQL、Redis 等存储的时候就新创建一个连接去访问数据,而是初始化的时候就创建合适数量的连接放到池子里面,当需要连接去访问数据的时候,从池子里面获取一个空闲的连接去访问数据,访问完了之后不释放连接,而是放回池子里面。连接池需要保证连接的可用性,就是这个连接和 MySQL、Redis 等存储是必须要定期发送数据来保证连接的,要不然会被断开。同时我们要针对已经失效(断开)的连接进行检测和摘除。

3、通过队列,就可以使我们的系统能够实现异步处理逻辑、流程削峰、业务模块解耦、柔性事务等多种效果,从而可以完成最终一致性,并且能够极大的提高我们系统的性能。

4、Keepalived 的高可用:例如某案例,Keepalived 每隔几秒会重启 MySQL。

5、清晰的定义:中台是“企业级能力复用平台”。中台建设根本上是为了“弥补创新驱动快速变化的前台和稳定可靠驱动变化周期相对较慢的后台之间的矛盾,提供一个中间层来适配前台与后台的配速问题。”中台的运作机制和关键特征:敏捷、解耦、复用。

中台本质上是把通用的东西剥离、抽象出来,将统一的团队去维护。做中台出于两个目的,一个是成本上,如果每人都独立干的话,成本会成倍的增加。第二,将不同业务下的同样的问题进行归类,交给更专业的人来解决,会做得更好。

当企业发展到一定规模,必然会面临协同和效率的挑战。如果每条业务线、产品线都各自为营,自建技术、数据、财务、安全等能力,就会导致大量重复建设、数据孤岛,增加内部协同和创新的难度。中台的出现恰好为这一问题提供了解决路径,构建统一共享的平台,实现了内部能力的高效复用,提高了创新的速度和深度。

6、管道设备:命名管道允许两个或多个进程相互通信,这些类似于字符设备,但不是将输出发送到设备,而是发送到另一个进程。

套接字设备:套接字设备促进了进程之间的通信,类似于管道设备,但它们可以同时与多个进程通信。

7、信号是对进程的通知,告诉它发生了什么事情。

  • 用户可以输入一个特殊的终端字符(Ctrl-C)或(Ctrl-Z)来终止、中断或挂起进程
  • 硬件问题发生时,内核想要通知进程
  • 软件问题发生时,内核想要通知进程
  • 进程通信的方式

8、消息队列有两种模式,点对点模式和发布/订阅模式。

  • 点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)的优点就是速度容易自己控制,想什么时候获取就什么时候获取,获取的速度也可以自己把控。但它的缺点就是它必须有一个监控队列的一个轮巡,相对来说比较耗资源,特别是长时间没有数据的时候。
  • 发布/订阅模式(一对多)的速度不是客户端来决定的,因为发布订阅模式消息是推送过去的,类似于公众号,消息是推送给你的。它的好处就是不用开一个监控,因为消息队列这边只要来消息了,我主动的推送给你,客户端这边不用弄一个监控在这一直看着有没有数据来。

Tips(烂笔头)_复用

大数据领域的实时计算、日志采集等场景,用 Kafka 是业内标准的。Kafka 是消息队列中的一种:Kafka 更多的是用做流式处理,要注意的是:无论是 Kafka 集群还是 consumer 都依赖于 zookeeper 集群保存一些 meta 信息,来保证系统可用性。第一个是 Kafka 集群,topic;第二个就是  consumers 节点,这个节点下保存是不同的 consumer 组,它是 topic 下某一个分区的节点,就是它对于一个分区它有一个 offset,如果有三个分区就有三个 offset。对于客户端请求只能 leader 来处理,follow 都是备份用的。

9、


标签:笔头,复用,Kafka,池子,进程,Tips,序列化,连接
From: https://blog.51cto.com/u_3029920/6171276

相关文章

  • web前端tips:CSS之sticky粘滞效果
    Sticky介绍Sticky是CSS3的一个定位属性,它可以让元素在滚动过程中“粘”在屏幕上的某个位置,直到滚动到某个临界点后才会跟随滚动。Sticky定位可以使得页面更具交互性和易用性,也提高了页面的可读性。Sticky定位可以通过以下代码实现:position:sticky;top:0;其中,top属性定义了......
  • blender建模渲染Tips
    blender渲染灯光的三种方式1,常规灯光:shift+A选择灯光。2,世界环境光:右侧地球图标调整。3,物体自发光:把渲染物体变成一个发光体来进行调节灯光。渲染视窗的调节ctrl+......
  • code tips
    不写注释是个坏习惯!多写注释!方便自己也方便他人:P(打acm养成的坏观念,以为代码过了就行,但以后涉及到和他人合作的项目,就不能这样(华为软挑队友是反面教材,搞得我很难受,所以有......
  • element-ui table 组件的表头加tips 提示信息的方法
    需求:表格有一列是显示比重,用户想知道这个比重数据的计算公式,需要再表头加一个小图标,鼠标放在图标上,显示计算公式。分析:该需求的实现方式有两种,我们说一个比较简单的,且没有......
  • [GO语言tips05]浅谈GORM常用方法
    0.引言GORM就是通过Go语言直接使用封装好的SQL语句,在使用的时候很多方法,那到底这些东西是如何执行的。主要说一下常见的几个CRUD方法。1.连接数据库使用的是gorm.Open......
  • Tips
    2-sat边的含义:同时满足,w(x,y)表示满足x则必须满足y多重区间问题考虑分割点易插入难删除的问题倒序解决多个绝对值相加考虑拆开交换临项允许==可以得到原序列的任......
  • java实现解压jar文件到某个目录/压缩某个目录为jar文件(好记性不如烂笔头)
    这里实现一个小功能,仅用于记忆功能:解压一个jar包到本地一个目录把一个目录压缩成一个jar包/***1,读取jar包,得到class文件*2,把class文件持久化到本地磁......
  • [Go语言tips04]二维数组与二维切片
    0.引言既然在Go语言中数组和切片同时存在并且是两个不同的类型,那当他们是二维时又会产生什么样的问题?因为数组和切片同时存在,在Go语言中二维的使用就会显得和别的语言很......
  • 开发者进阶必备的9个Tips & Tricks!
    优秀的开发人员市场前景是十分广阔的,但想找到一份理想的工作,仅有代码知识是不够的。优秀的工程师应该是一个终身学习者、问题的创造性解决者,着迷于整个软件世界。要成为一......
  • [Go语言tips03]数组与切片与...语法糖
    0.引言C中只有数组的概念,没有切片的概念;Python中只有切片的概念,没有数组的概念;Go语言同时拥有数组和切片的概念,这两者看起来没什么区别都直接通过[x]int来使用,但实际上有......