苹果“查找我的iphone”功能的地图纠偏问题

今天无意研究了下苹果的“查找我的iphone”功能,发现网页中的地图跟手机实际位置偏差很大,因为之前研究过国内地图的纠偏问题,所以本能就想到是不是纠偏造成的。

于是将地图位置(国内只能显示平面地图,不能显示卫星图,原因你懂的)放在google地图上,通过maps.google.com 中的平面图和卫星图拟合,发现拟合后的微信图的位置跟实际位置相同,跟手机自己显示的位置一样,就此确认。

简单的解决方法:vpn后,就能显示正确位置了,原因就不多说了,自己google吧。

分布式系统最终一致性的一些思考

目前互联网的架构大部分都期望最终的系统scalable,所以一般都设计成分布式系统,所以一个最重要的问题就是数据一致性,分布在各个角落的数据,保证一致性,才能提供一个统一的可用业务。

几个基本概念
- ACID
- CAP
- BASE

可用性没有简单的统一解决方案,没有什么神奇的中间件或者第三方可以满足任何业务场景,但有几个基本的思路

异步确认:通过目标的异步确认为事件的结果确认,在没有异步确认前,进行多次尝试,或者交由消息队列

消息队列:事件发出后,交由消息队列,由队列自身完成投递和错误补偿机制,确保事务的到达。但最终还是以目标的确认为最终事件的结果

接口的幂等性:因为存在重试和错误补偿机制,不可避免的在系统中存在重复收到消息的场景,接口的幂等性能提高数据的一致性

锁:本地锁和分布式锁,对关键路径进行加锁,保证数据的一致性

业务模拟事务:根据实际的业务分割,对最小业务完整数据流,做业务层次的事务管理, 进行历史纪录和回滚。

数据库事务:这个事最基本的要求

通过分析具体的业务,在不同的业务节点使用以上不同的策略,最终实现整体的一致性,提高系统可用性。

instagram pinterest 花瓣 图钉的图片采集方式

这几款应用是目前国内外主流的图片流社交应用,具有一定的代表性,我们来看下其内容的来源:

instagram

本地图片,相机图片和视频

pinterest

本地图片,相机,URL提取,不支持视频
URL提取这个好强大,输入www.taobao.com,生成如下的视图,用户可以直接选区要采集的图片
1.pic
Pinterest 提供web plug,用户安装后可以在浏览网页时右键直接

花瓣

采集功能跟pinterest貌似一样,但URL采集移动端根本不可用,只是装个样子,pc浏览器的插件是好用的

图钉

跟instagram一样,但是感觉里面的内容都是官网自己更新的,没有真正的活跃度。

从上面几款可以看出,这类的应用基本都是instagram 和pinterest的高仿,形式大于内容。既然形式上没有太大的创新空间,内容就是关键了,怎么引导用户UGC,怎么建设活跃的用户习惯,就是这类应用的关键了。

xcode pod 路径下头文件的“file not found”问题

更换了电脑,重新从git上下拉的工程,发现头文件命名存在,但是编译时提示 “file not found”的问题,初步怀疑环境配置问题,因为之前的环境是ok的。但检查比对了pod和主工程的路径,没发现明显的线索。

所以就重新创建了pod的工作区:

把.xcworkspace,pod开头的文件除了Podfile,全删,然后重新pod install/update,再打开新的xcworkspace 文件,编译,ok