
获得徽章 4
- #青训营 x 字节后端训练营#
2023.6.6 后端成长计划
Day38
今日总结:【限流】
·限流:通过对一个时间窗口内的请求量进行限制来保障系统的正常运行。服务资源和处理能力总是相对有限的,限流能对调用我们服务的上游请求进行限制,以防止服务由于资源耗尽而停止运行。
·限流算法:固定窗口算法、滑动窗口算法、滑动日志算法、漏桶算法、令牌桶算法等。
·Redis 分布式限流:由于 Redis 的单机性,本身就可以用于分布式限流。使用 Redis 可以实现各种可以用于限流算法,常用的有固定窗口算法和滑动窗口算法。展开评论点赞 - #青训营 x 字节后端训练营#
2023.6.1 后端成长计划
Day37
今日总结:【Hadoop】
·Hadoop:Apache软件基金会下的一个开源分布式计算平台,以hdfs、MapReduce为核心,为用户提供了系统底层细节透明的分布式基础架构。
·Hadoop发行版本:Apache Hadoop、DKhadoop、Cloudera、Hortonworks、FusionInsight等。
·Hadoop生态系统:HDFS、MapReduce、Yarn、Spark、Flink、Flume、Zookeeper、Hbase、Cloudbase、Pig、Mahout、Oozie、Sqoop、Scribe等。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.30 后端成长计划
Day36
今日总结:【消息重复消费】
·幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。
·幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。
·RocketMQ的topic内的队列机制,可以保证存储满足FIFO(First Input First Output 简单说就是指先进先出),剩下的只需要消费者顺序消费即可。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.29 后端成长计划
Day35
今日总结:【ZooKeeper分布式锁】
如果有客户端C、客户端D等N个客户端争抢一个zk分布式锁,
·大家都是上来直接创建一个锁节点下的一个接一个的临时顺序节点;
·如果自己不是第一个节点,就对自己上一个节点加监听器;
·只要上一个节点释放锁,自己就排到前面去了,相当于是一个排队机制。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.28 后端成长计划
Day34
今日总结:【动态规划】
·无后效性:当某阶段的状态一旦确定,此后的决策过程和最终结果将不受此前的各种状态所影响。
·动态规划的本质其实仍然是枚举:枚举所有的方案,并从中找出最优解。但和「暴力递归」不同的是,「动态规划」少了很多的重复计算。
·记忆化搜索本质是带“缓存”功能的暴力递归:它只能解决重复计算的问题,而不能确定中间结果的访问时机和访问次数,本质是一种“自顶向下”的解决方式。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.27 后端成长计划
Day33
今日总结:【Android架构】
·模块化的意义:所有的模块化都是为了满足单一设计原则,一个函数或者一个类再或者一个模块,职责越单一复用性就越强,同时能够间接降低耦合性。
·合理分层是给数据驱动UI做铺垫,数据驱动UI的本质是控制反转。
·函数式编程:给定一个初始值,经过函数链的运行会得到一个目标值,运算的过程中外部没有插手的权限,同时不做与本身无关的操作,从根本上解决了不可预期错误的产生。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.25 后端成长计划
Day32
今日总结:【Spring】
·Spring:一个一站式开发框架,目的是为了解决企业级应用开发的复杂性,它为开发Java应用程序提供全面的基础架构支持,让Java开发者不再需要关心类与类之间的依赖关系,可以专注的开发应用程序(crud)。
·Spring为企业级开发提供给了丰富的功能,而这些功能的底层都依赖于它的两个核心特性:依赖注入(DI)和面向切面编程(AOP)。
·其他详见链接。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.24 后端成长计划
Day31
今日总结:【架构组件选择】
·消息队列:kafka、RocketMQ、VerneMQ等。
·缓存:caffeine、redis的cluster集群模式等。
·分库分表:shardingsphere中的sharding-jdbc。
·数据同步:canal、postgresql等。
·其他详见链接。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.23 后端成长计划
Day30
今日总结【架构开发体验】
·架构是一个产品,必须得经历需求分析、用户界面设计、产品功能设计、代码开发、进行各种测试,那么就得通过一定的运营手段让产品被用户看到,最后达到用户的面前,交付给用户。
·让自己变得更加专业,设计出更加高质量的代码,需要很长时间踏实的积累,没有捷径可以走,站在巨人的肩膀上,多看优秀的代码,从中获得想法,多动手来印证想法。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.22 后端成长计划
Day29
今日总结:【接口规范】
·前后端为什么分离:前端开发重度依赖开发环境,开发效率低;前后端职责依旧纠缠不清;对前端发挥的局限。
·基本接口规范:
1)接口返回数据即显示:前端仅做渲染逻辑处理;
2)渲染逻辑禁止跨多个接口调用;
3)前端关注交互、渲染逻辑,尽量避免业务逻辑处理的出现;
4)请求响应传输数据格式:JSON,JSON数据尽量简单轻量,避免多级JSON的出现;
·具体见链接展开评论点赞