加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

大龄程序员技术管理路上的悲喜总结

发布时间:2019-09-12 15:01:42 所属栏目:移动互联 来源:PHP解说
导读:生在中国这片热土,我们做程序开发的人要面临很多的挑战。只要生命不息,挑战就永远不会停止。 比如最近疯传的 35 岁程序员送外卖。这明显点出了在中国搞开发,要面临的其中之一挑战:年龄。 在整个 IT 领域,大多数的开发者都属于普通人。只有极少数部分
副标题[/!--empirenews.page--]

生在中国这片热土,我们做程序开发的人要面临很多的挑战。只要生命不息,挑战就永远不会停止。

比如最近疯传的 35 岁程序员送外卖。这明显点出了在中国搞开发,要面临的其中之一挑战:年龄。

大龄程序员技术管理路上的悲喜总结

在整个 IT 领域,大多数的开发者都属于普通人。只有极少数部分人能站在技术的尖端引领技术的前进与走向。那么,普通的开发者,又很容易被新人替换。新人更经济实惠,压力小。而老开发人员技术的天花板无法打破的情况下。要面临跟着一群小朋友一起起早贪黑的工作模式。甚至于会出现自己一把年纪,上面的领导比自己还小好多岁的窘境。

肯定有人会说我们这群老人矫情。但是,又有几人能做到内心毫无波澜呢?

本篇博文主要是针对我们这群普通的开发者处境所写。请允许我在这里贩卖焦虑。

一、系统架构

作为技术这条路线,最终都会偏架构方向。即使做技术经理或总监。都必须对系统架构要有一定的知识储备,以备对团队的架构搭建与变更做出准确的判断。

这里并不是说我们去设计一些千万级别以上 PV 的系统架构。做为普通的开发者,要接触上亿的系统平台相对来说机会并不是很多。即使接触了,也仅仅只是这个平台里面的一个小螺丝。要能主导这个架构的设计,还稍显稚嫩。我再次说明一下,这里仅仅只对普通的开发者。不指那些尖端的高技术人才。

在我的理念当中,千万级别及以下 PV 的构架,通常用不到微服务。所以,不要用微服务来坑自己。加重架构的复杂度。

在这个体系里面有以下技术/服务/文档可能是我们要涉及的:

  • 队列服务:Redis、Kafka、RabbitMQ 等消息服务中间件。
  • 缓存服务:Redis、Memcache。这里不太推荐 Memcache。
  • 多进程/多线程:用来异步处理一些 CPU 数据密集计算的任务或异步处理推送、短信等任务。
  • 负载均衡服务:可以采用阿里云成熟的负载均衡服务 SLB 服务。
  • 日志存储与分析服务:常听到 ELK 就属于一组组合。不过,我推荐使用阿里云的日志服务。集成了报警功能。这个非常实用。
  • 文件存储服务:系统上传的文件不能与业务服务器存放一起。会影响业务服务器的带宽。导致业务访问的数据交互延迟与超时。可以采用阿里云的 OSS。一般千万级别自建这样的存储系统服务,从成本上来说根本不划算。
  • CDN 服务:即使我们用了独立的文件夹服务器存储文件。但是,在访问的时候由于用户所处网络不同(电信、移动、联通),以及区域不同(南方/北方)。所以,CDN 会加快用户访问文件的速度。提升用户体验。
  • 数据库:一主多从构架。具体要多少个从数据库根据自己的业务量来设计。通常中小型平台使用阿里云的 RDS 比自建数据库服务更加划算。否则,团队会配备专业的 DBA 来维护数据库服务器。推荐使用阿里云的 RDS 服务。对了。这里说的是MySQL 数据库。其他忽略。
  • 监控系统:现如今像阿里云这样的平台,都提供了监控服务。像服务器 CPU、内存使用率告警。数据库资源报警。自建的话,不仅维护需要专人,还可能会导致监控不完善造成的损失。千万 PV 级别不推荐。
  • 专用网络 VPC:这个说的是阿里云的 VPC 服务。当然,其他云平台也有。它的核心功能是给自己所有的服务器虚拟一个网络进行管理。避免直接被外网访问,或直接访问外网。说得再直接一点就是避免风险。

像我这样普通的大龄开发者,经历过的大大小小项目也挺多的。要真的能达到千万级别 PV 的挺少的。通常要面临的挑战如下:

QPS:即每秒请求量。通常我们服务器能支持 2000 + 即可。除非做抢购等这种秒杀型的活动,否则很多的 Web 业务根本用不到 2000+。

海量数据:很多时候制约性能的数据库。对海量数据存储就显示很重要。比如,订单分库分表解决。分表解决单表查询性能、分为解决单库性能。

二、网站劫持

网站劫持这是一个比较笼统的叫法。实际有如下几种劫持:

  • URL 跳转型劫持:输入 A 域名,强制跳转至 B 域名。
  • 注入型劫持。
  • DNS 劫持。

而注入型劫持,又分以下几种:

  1. 注入 JS 类劫持:在正常页面注入 JS 代码实现劫持。常见的就是运营商强制注入广告 JS。
  2. iframe 类劫持:将正常页面嵌入iframe或者页面增加iframe页面。
  3. 篡改页面类劫持:正常页面出现多余的劫持网页标签,导致页面整体大小发生变化。
  4. DNS 劫持:
  • 在工作中,经常会有用户跟我们的客服同事反馈 App 打不开或报错。这其中有一部分就是 DNS 被劫持所致。劫持之后 App 请求接口拿不到数据或拿不到指定的数据,肯定会报错。影响用户正常的访问。
  • URL 跳转型劫持与注入型劫持都可以通过 HTTPS 方式解决。而 DNS 劫持就比较特殊了。
  • 关于 DNS 劫持解决的办法是通过直接访问受信任的 DNS 来解决。因为,这种 DNS 的劫持通常是运营商 Local DNS 缓存问题造成的。比如,攻击者污染了根 DNS 服务器。导致运营商同步造成了数据的污染。自然访问就会出现问题。

所幸,我们可以采用类似阿里云这种平台提供的 HTTPDNS 服务。来解决 DNS 劫持的问题。

HTTPDNS 的功能特性:

  • 防劫持:绕过运营商Local DNS,避免域名劫持,让每一次访问都畅通无阻。
  • 精准调度:基于访问的来源IP,获得最精准的解析结果,让客户端就近接入业务节点。
  • 0ms解析延迟:通过热点域名预解析、缓存DNS解析结果、解析结果懒更新策略等方式实现0解析延迟。
  • 快速生效:避免Local DNS不遵循权威TTL,解析结果长时间无法更新的问题。
  • 降低解析失败率:有效降低无线场景下解析失败的比率。
  • 稳定可靠:99.9%的可用性,确保域名解析服务稳定可靠。

三、系统安全

系统安全真的真的特别重要。作为一名开发老兵,心中始终要有一根弦:代码千万行,安全第一条。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读