- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 Dubbo
Dubbo 是 SOA 时代的产物,它的关注点主要在于服务的调用,流量分发、流量监控和熔断。而 Spring Cloud 诞生于微服务架构时代,考虑的是微服务治理的方方面面,另外由于依托了 Spirng、Spirng Boot 的优势之上,两个框架在开始目标就不一致,Dubbo 定位服务治理、Spirng Cloud 是一个生态。Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。
2024-03-20 14:53:26
677
原创 ZooKeeper
(5)线程将当前zxid最大的Server设置为当前Server要推荐的Leader,如果此时获胜的Server获得n/2 + 1的Server票数,设置当前推荐的leader为获胜的Server,将根据获胜的Server相关信息设置自己的状态,否则,继续这个过程,直到leader被选举出来。通常这是完全透明的。命名服务是指通过指定的名字来获取资源或者服务的地址,利用zk创建一个全局的路径,即是唯一的路径,这个路径就可以作为一个名字,指向集群中的集群,提供的服务的地址,或者一个远程的对象等等。
2024-03-20 12:58:20
1032
原创 Kafka
数据传输的事务定义通常有以下三种级别:(1)最多一次: 消息不会被重复发送,最多被传输一次,但也有可能一次不传输(2)最少一次: 消息不会被漏发送,最少被传输一次,但也有可能被重复传输.(3)精确的一次(Exactly once): 不会漏传输也不会重复传输,每个消息都传输被一次而且仅仅被传输一次,这是大家所期望的。
2024-03-19 16:06:05
2236
原创 高并发下秒杀商品,必须知道的9个细节
高并发下如何设计秒杀系统?这是一个高频面试题。这个问题看似简单,但是里面的水很深,它考查的是高并发场景下,从前端到后端多方面的知识。秒杀一般出现在商城的促销活动中,指定了一定数量(比如:10个)的商品(比如:手机),以极低的价格(比如:0.1元),让大量用户参与活动,但只有极少数用户能够购买成功。这类活动商家绝大部分是不赚钱的,说白了是找个噱头宣传自己。虽说秒杀只是一个促销活动,但对技术要求不低。下面给大家总结一下设计秒杀系统需要注意的9个细节。
2024-03-13 17:43:21
603
原创 秒杀系统架构分析与实战
在还没有人提交订单成功之前,如果一台服务器已经有十单了,而有的一单都没处理,可能出现的用户体验不佳的场景是用户第一次点击购买按钮进入已结束页面,再刷新一下页面,有可能被一单都没有处理的服务器处理,进入了填写订单的页面,可以考虑通过cookie的方式来应对,符合一致性原则。然后,这才是真正的恶梦开始。其实在正常的非高并发的业务场景中,也有类似的情况出现,某个业务请求接口出现问题,响应时间极慢,将整个Web请求响应时间拉得很长,逐渐将Web服务器的可用连接数占满,其他正常的业务请求,无连接进程可用。
2024-03-13 13:03:19
1971
原创 如何设计秒杀系统
性能优化需要一个基准值,所以系统还需要做好应用基线,比如性能基线(何时性能突然下降)、成本基线(去年大促用了多少机器)、链路基线(核心流程发生了哪些变化),通过基线持续关注系统性能,促使系统在代码层面持续提升编码质量、业务层面及时下掉不合理调用、架构层面不断优化改进。当然,减库存还有很多细节问题,例如预扣的库存超时后如何进行回补,再比如第三方支付如何保证减库存和付款时的状态一致性,这些也是很大的挑战。
2024-03-13 08:55:47
858
原创 当处理大规模地理数据时,采取哪些方法来优化性能
将大规模地理数据分成小块,在地图上按需加载和显示,可以减少一次性加载所有数据的压力,提高响应速度和用户体验。综上所述,处理大规模地理数据时,需要综合考虑以上方法,根据具体情况选择合适的优化策略,以提高性能和效率。对地理数据进行压缩和优化,可以减少数据传输和存储的大小,提高数据加载和处理的效率。使用缓存技术缓存常用的地理数据或处理结果,减少重复计算和查询,提高数据处理的效率。使用高效的算法和数据结构,可以减少计算和存储的复杂度,提高数据处理的效率。处理大规模地理数据时,优化性能是至关重要的。
2024-03-11 08:40:58
432
1
原创 矢量地图与栅格地图之间的区别,并讨论它们的优缺点
在选择矢量地图和栅格地图时,需要考虑使用场景和需求。例如,如果需要处理地图数据的几何属性或进行实时渲染,矢量地图可能更适合;而如果需要处理影像数据或进行图像处理任务,栅格地图可能更合适
2024-03-11 08:38:44
1446
1
原创 什么是空间插值?常见的插值方法有哪些?
空间插值是一种通过已知的离散空间数据点来推断未知位置处的数值的方法。其目的是根据已知数据点之间的空间关系,估计或预测其他位置的值。空间插值通常用于填补数据空白、生成连续表面、制作地图和空间分析等应用。
2024-03-10 18:39:04
5878
1
原创 什么是地图投影?你知道哪些常见的地图投影
地图投影是一种将三维地球表面投影到二维平面上的数学转换过程。由于地球是一个三维的球体,而纸张或屏幕是二维的,因此需要采用投影来表示地球表面的信息。地图投影会引起形状、面积、方向和距离等方面的畸变,这被称为地图投影畸变。
2024-03-10 10:10:56
1013
1
原创 如何在Java中创建和启动线程?线程同步的方法有哪些?
*** 优点:使用继承方式的好处是, 在run() 方法内获取当前线程直接使用this 就可以了,无须使用Thread. currentThread() 方法;* 缺点:1)Java 不支持多继承,如果继承了Thread 类,那么就不能再继承其他类。2)任务与代码没有分离, 当多个线程执行一样的任务时需要多份任务代码。3)任务没有返回值。*///底层Thread也是实现Runnable接口@OverrideSystem.out.println(this.getName()+" 运行体");
2024-03-10 08:49:36
907
1
原创 如何加载文件特别大的卫星影像数据
加载特别大的卫星影像数据可能会导致ArcGIS、QGIS、Global Mapper等软件响应速度下降或者出现内存不足的问题,那如何解决呢?
2024-03-10 07:39:27
1262
1
原创 GeoServer介绍、配置与安装
GeoServerGeoServer官网地址简介:GeoServer是一款JAVA编写的、开源的、用于共享地理空间数据的软件服务器。GeoServer实现了开放地理空间信息联盟(OGC )标准下WFS、WMS、WCS、WMTS等格式的发布。
2024-03-07 16:47:38
827
原创 大厂订单系统是如何设计的
本文主要讲述了在传统电商企业中,订单系统应承载的角色,就订单系统所包含的主要功能模块梳理了设计思路,并对订单系统未来的发展做了一些思考。
2024-03-07 14:44:49
988
原创 电商库存系统设计案例详解(上)
库存只是一个数值,无论是存在mysql数据库还是redis缓存,减值时都要控制顺序,只能串行来扣减,当然为保证安全性,会设计一些锁控制。当然,数据同步有时延,从库数据有滞后性,所以这库存校验结果不准确,但能拦截大部分无效流量。最上面会查询当前的剩余库存(可能不准确,但没关系,这里只是第一步粗略校验),前置校验,如果已经没有库存,前置拦截生效,减少数据库写。所以,数据库扣减方案第一次升级主要针对 库存前置校验 模块的优化,作为前置拦截器,承载流量很大,若将流量全部压到主库,很容易把数据压垮。
2024-03-07 11:59:53
1049
原创 线性回归训练
添加链接描述# Machine-LearningTask01:线性回归(2天)模型建立:线性回归原理、线性回归模型学习策略:线性回归损失函数、代价函数、目标函数算法求解:梯度下降法、牛顿法、拟牛顿法等线性回归的评估指标sklearn参数详解练习部分基于线性回归的房价预测问题利用sklearn解决回归问题sklearn.linear_model.LinearRegressi...
2021-06-30 10:06:55
163
task1_Linear_regression.ipynb
2020-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人