软考论文大纲
过去两年,全球贸易环境在需求波动、供应链重组和数字技术发展的多重影响下持续变化。世界贸易组织数据显示,2024年全球货物贸易总额约为3.3万亿美元,同比增长3.3%,虽然贸易总体仍在增长,但企业之间的竞争日趋激烈。与此同时,买卖双方的信息壁垒依然明显,传统依靠展会、人脉和代理的外贸模式在效率和可持续性上显得力不从心。对中国外贸企业而言,这一趋势尤为明显。根据海关总署数据,2024年中国进出口总额达到43.85万亿元人民币,同比增长5%,其中出口额为25.45万亿元,同比增长7.1%。但在数字化转型成为行业共识的当下,许多中小企业仍依赖人工整理数据、分散管理客户资源,无法有效整合全球采购、海关、信用、物流等信息,导致潜在客户挖掘难、转化效率低、营销成本高。
基于此需求,网易推出了“外贸通”智能外贸综合服务平台,旨在以数字化方式帮助外贸企业提升客户拓展与市场分析能力。该平台整合全球海关数据、采购网站、企业工商信息与网站行为数据,构建统一的外贸数据中心,并利用AI算法实现客户画像、智能推荐和商机预测。系统能够为企业提供“从数据到客户”的一体化解决方案,使销售人员能够基于客观数据快速筛选高价值客户,而非依赖经验式判断。该项目自2022年7月启动,立项资金500万元,历时7个月上线,目前仍在持续迭代,用户规模不断扩大逐渐成为事业部的盈利增长点。
论负载均衡
摘要
本人于2022年7月参与了某大型互联网公司“外贸通”项目的研发工作,我在该项目中担任系统架构设计师一职,主要负责架构设计和系统评估。该项目是一个为企业提供从用户发现到外贸营销的一站式外贸SaaS平台,主要功能模块包括客户发现、邮件营销EDM、客户管理CRM、海关贸易数据爬取链路等,并通过AI和大数据为外贸企业赋能。我将以“外贸通”项目为背景,阐述负载均衡在该项目三层架构中的应用:表示层使用Nginx进行七层负载均衡、功能层使用SpringCloud Gateway和Ribbon实现微服务负载均衡治理、数据层的Redis使用主从复制实现读写分离提高并发,MySQL利用ShardingSphere JDBC实现水平分片,并通过自定义的哈希算法实现负载均衡。由于多种负载均衡算法的考虑使得系统稳定性提高了40%、性能提高32%,获得客户的一致好评。
思路
思路:先阐述层次架构的概念,介绍我们的项目是B/S和C/S混合的瘦客户端架构,然后介绍负载均衡的意义以及负载均衡的常见算法,随机、哈希、轮询、一致性哈希、四层负载和七层负载,http重定向、NAT重定向。接着分别介绍表示层也就是前端的技术栈Vue+Nginx,使用服务端渲染,Nginx反向代理给后端网关,转发和路由,监控;结合介绍功能层也就是后端的技术微服务架构,采用Spring Ribbon实现网关的负载均衡,分配到具体的服务实例上,一般的算法是哈希分片和轮询RR,我们在这里使用的微服务服务发现中心Nacos事实上也可以起到一定的均衡作用;最后介绍数据层面的负载均衡,Redis的主从复制用了一台主Redis节点和两台从Redis,均为四核16GB,主从复制采用Replica of IP进行复制,从节点会存储一个offset以便与主节点同步,初始同步使用RDB后续使用AOF,存储在Replication backlog buffer,进行了热key的预热,用负载均衡和读写分离抵御了一次高并发热点活动;分库分表使用Apache ShardingSphere,水平分片突破单机MySQL上线,使用自定义的哈希算法实现子查询的负载均衡。
论面向服务架构
摘要
本人于2022年7月参与了某大型互联网公司“外贸通”项目,在该项目中担任软件架构设计师一职,主要负责架构设计和功能优化。该项目是一个为企业提供从客户发现到外贸营销的一站式外贸SaaS平台,主要功能模块包括客户发现、邮件营销EDM、客户关系管理CRM和海关贸易数据爬取链路等。为了消除信息孤岛问题,项目构建采用面向服务的架构,我将主要描述SOA企业服务总线、业务处理服务、业务创新服务、控制服务、IT管理模块,开发服务在本项目中的应用。采用的面向服务的架构有效提升开发和通信效率,获得了业界和用户的一致好评。
思路
首先描述面向服务的架构是更粗粒度的,相比于传统的面向对象和面向构建更松耦合,SOA的技术栈主要包括UDDI进行服务发现注册、WSDL网络服务描述语言描述服务基本功能、接口和位置、SOAP完成服务调用、TCP/IP作为传输层协议辅助通信。采用SOA的意义在于架构复用,每个模块功能通过企业服务总线ESB进行调用,能够有效提高性能和效率。接着介绍SOA服务的六个主要类别:企业服务总线ESB作为服务发现中心协调服务之间的调用,由于外贸通项目的调用链路特别长,从获取信息到邮件营销到潜在客户管理;此外还要屏蔽各平台贸易数据的实现差异以及海关数据的接口差异,例如有的使用http有的使用soap的webservice,ESB需要屏蔽这一层差异,我们做了多重枚举的适配解决这一问题,从而给接口调用返回一个公共类型的对象;此外我们的ESB还设计了事件触发机制,多条链路的数据爬取通过隐式调用同步到线上,通过ESB的高级功能实现。接着是业务处理服务和业务创新服务,我们将业务粗粒度的划分为应用服务、数据服务、海关服务、CRM服务等,应用服务和数据服务服务总线隐式调用,应用服务包括restful api和controller来直接与用户界面交互、数据服务利用xxljob和kafka,采用多种爬虫策略多渠道多国家获取贸易数据和潜在公司,再结合大数据和大模型对数据进行清洗,聚类分析和分类分析,尽最大可能给用户提供高相似度的推荐公司,通过召回不断迭代优化算法;开发服务采用devops模式,实现了一套持续交付持续基础的git流水线,利用jenkins实现了开发、部署、灰度和上线的全流程流水线,集成在我们的SOA架构中,有效提高了软件开发效率;控制服务和IT服务管理主要是高效安全的管理业务流程,对于IT资产使用加密的模型库和数据库,通过线上审核和工单提单机制来进行责任追踪,确保资产的完整性和安全性;对于整条业务流程采用多种权限控制,前后端均进行校验,后端采用spring security和shiro进行校验,同时自动化巡检会对漏洞定期抽查,随后反馈到工作群组中。基于完整的介绍了基于服务的架构SOA在“外贸通”项目中的应用。
论云原生架构
摘要
本人于2022年7月参与了某大型互联网公司“外贸通”项目的开发,在该项目中担任系统架构设计师,主要负责项目的系统架构设计和软件质量分析。“外贸通”为企业提供了一套从潜在客户发现到邮件营销到商机转化到客户管理的一站式的外贸SaaS解决方案,自上线以来用户规模不断扩大逐渐成为事业部的核心赢利点。我们聚焦于云原生架构使得能够自动化部署高效运维,通过容器化和自动编排以及CI/CD,结合私有云和服务网格实践整合出了一套高效的适合本业务场景的微服务治理体系。在安全性和面对高并发场景能够较强的健壮性,同时也能实现快速迭代的需求。
思路
先说明传统架构的缺点,普通的基于虚拟机的架构不适合持续集成持续交付,多服务运维较为复杂,配置环境无法统一。使得程序员需要花大量的时间在非功能代码方面,运维成本大,无法聚焦于业务。通过云原生的serviceless模式,部署采用git流水线通过jenkins和容器化直接同步到线上,程序员可以更加关注代码而非运维和环境,解放了生产力;此外可以借助容器化实现微服务治理,不再需要重量级的部署,通过docker虚拟化携带操作系统必要的执行文件,可以轻量化应用实现微服务架构;此外云原生使用k8s动态扩容集群,针对某些高并发场景提高健壮性,使得系统更灵活;云原生的链路追踪和日志管理采用ElasticSeach+LogStach+Kibana+SkyWalking实现日志统计和报表产生,数据看板采用普罗米修斯+Grafana。综合来看,我们搭建了的云原生架构包括以下内容:使用docker将微服务装载进容器,使得部署更加轻量级;使用基于jenkins和git的持续集成/持续部署流水线,简化运维流程;使用基于k8s的容器扩容和动态调整,面对高并发场景更鲁棒;使用ELK的日志管理系统,以及普罗米修斯的数据看板;结合公司内部的私有云服务完成了一套微服务下的云原生治理体系。