掘友等级
获得徽章 0
在开始设计项目目录结构之前,我们需要先了解一些设计目录的基本原则:
可读性和可维护性:设计目录结构应该易于阅读和维护,目录名称要简洁、清晰,最好能达到顾名思义的效果。
可扩展性和模块化:设计目录结构应该易于扩展和模块化,随着时间的推移,项目会不断变大,项目的目录结构应该能够很容易支撑这种变化。
规范性和一致性:设计目录结构应该遵循规范和一致性,如无特殊情况,目录名称最好统一使用单数
实上面的写法还是需要写数据库的字段名,如果数据库的字段名很多,我们很容易写错,导致不必要的bug产生。
一旦名称长,非常容易误写,而且如果有字段名称修改的话,还需要全局搜索一个个地修改,比较麻烦。
Go没有提供类似Java的lambad表达式或者C#中 nameof 方式直接获取某个对象的字段名称的操作,但是我们可以通过生成代码的方式生成字段名
所有就有了gplus,它作用就是自动识别结构体,把结构体的字段名生成出来。
在单机架构基础上,将进程按照某种依据切分开。比如,A 软件和 B 软件的后端原先采用单机架构部署,那就是一个进程部署在多个机器上;如果用垂直应用架构,可以将 A 和 B 的后端拆分为 A、B 两个进程,然后再按照单体模式的思路,部署在多个机器上。
优点:
一定程度上减少了后端进程职责
一定程度上缩小爆炸半径
Lambda表达式的语法非常简洁和清晰。它们由参数列表、箭头符号和方法体组成。
afka使用场景,业务日志、用户行为数据、Metrics基本概念,Producer、Cluster、Consumer、Topic、Partition
数据迁移、Offset、Partition选主
Lambda表达式的语法非常简洁和清晰。它们由参数列表、箭头符号和方法体组成。参数列表指定传递给Lambda表达式的参数,箭头符号 \"->\" 分隔参数列表和方法体,方法体则包含Lambda表达式要执行的代码。
afka使用场景,业务日志、用户行为数据、Metrics数据
基本概念,Producer、Cluster、Consumer、Topic、Partition
数据迁移、Offset、Partition选主
数据压缩可以使读的数据量更少,在IO密集型计算中获得大的性能优势
相同类型压缩效率更高
排序之后压缩效率更高
可以针对不同类型使用不同的压缩算法
几种常见的压缩算法
SQL引擎包括了:
Paser:经过词法分析、语法分析生成语法树,然后对语法树进行合法性校验。
Optimizer:根据Parser产生的语法树,根据规则或者代价产生执行计划树。
Executor:根据计划树进行执行,常见的执行方式是火山模型。
Restful风格简介:简单介绍Restful风格的形式和优点
GET:获取对象内容
PUT:下载对象内容
DELETE:删除对象内容
HEAD:获取对象元信息
MultiPartUpload接口:针对大对
数据库有很多种,至于各种数据库孰优孰劣,主要取决于企业希望如何使用数据。
关系数据库:关系型数据库是把数据以表的形式进行储存,然后再各个表之间建立关系,通过这些表之间的关系来操作不同表之间的数据。
非关系数据库 : NoSQL 或非关系数据库,支持存储和操作非结构化及半结构化数据。相比于关系型数据库,NoSQL没有固定的表结构,且数据之间不存在表与表之间的关系,数据之间可以是独立的。NoSQL的关键是它们放弃了传统关系型数据库的强事务保证和关系模型,通过所谓最终一致性和非关系数据模型(例如键值对,图,文档)来提高Web应用所注重的高可用性和可扩展性。
单机数据库:在一台计算机上完成数据的存储和查询的数据库系统。
分布式数据库 : 分布式数据库由位于不同站点的两个或多个文件组成。数据库可以存储在多台计算机上,位于同一个物理位置,或分散在不同的网络上。
OLTP 数据库 : OLTP(Online transactional processing)数据库是一种高速分析数据库,专为多个用户执行大量事务而设计。
OLAP 数据库:OLAP (Online analytical processing) 数据库旨在同时分析多个数据维度,帮助团队更好地理解其数据中的复杂关系
下一页