一、前言前段时间公司内的站点发布时经常遇到Tomcat使用的8080端口被占用,导致启动报错BindException的情况。笔者参与了该问题的排查和修复,本文将深入Tomcat、OpenJDK、Linux内核等源码为大家讲解问题的原因以及排查过程。报错信息Caused by: java.net.BindException: Address already in use二、Tomcat源码分析起初
前言随着业务的不断拓展和系统架构的日益复杂化,确保系统的持续稳定性和高可用性成为了工作的重中之重。定期进行系统健康检查和性能监控,以便及时发现并诊断潜在的系统隐患,是防范风险、保障业务连续性的关键措施。通过检查系统相关指标(JVM、堆内存、线程情况、CPU负载、网络状况、接口耗时、SQL耗时等),我们可以更有效地进行问题排查和风险预警,从而避免因系统故障导致的业务中断和资损发生。背景在支付业务场景
1. 前言随着应用构建需求增加以及新构建场景引入,公司对构建系统的扩展性、稳定性要求日益提高。多语言构建(如Golang、Java、Python、Node.js 等)所依赖的环境,部署在同一台物理机上时,使构建机环境维护困难;并且多应用同时在一台机器上构建会相互影响;在传统的构建机主从模式下,单一的Master 构建节点会成为系统单点故障源,导致整个构建集群不可用。通过行业方案调研,决定对构建节点
背景在 2023 年的统计数据中,WhatsApp 成为了印尼最常用的社交媒体,拥有高达 2.2 亿的用户量,占据印尼互联网人群的 90%之多。WhatsApp 开发的 WhatsApp Business API 为企业开辟了一条与客户进行大规模、高效且合规沟通的崭新途径。它使得企业能够借助自动化和集成的模式,发送通知、营销信息以及客户支持回复等各类内容。通过使用 WhatsApp Busines
1 背景近年来,大语言模型(LLM)在自然语言处理领域取得了显著进展。大语言模型例如 GPT、Qwen 等,展示了在各种语言任务中的强大能力。我们想要基于开源的大模型,定制一个能够生成渠道业务测试用例的专用大模型。那么首先尝试对开源大模型进行指令微调,优化开源大模型在软件测试方面的表现。指令微调是一种重要的方法,通过向模型提供精确的指令或任务描述,使其能够在执行特定任务时表现得更加出色。但指令微调
背景为了提升公司内外部的沟通、协作效率,我们在内部广泛使用了企业微信服务。同时,随着互联网获客成为主要手段,企业面临着激烈的竞争,导致获客变得更加困难,这需要我们花费更多的时间和资源。因此,精细化运营存量客户的重要性日益凸显。此时我们面临一个问题:企业微信的外部联系人体系与业务方的用户体系无法互通。简单来说,当成员张三添加客户A时,业务方系统并不知道客户A在他们的用户体系中是谁,这导致后续的营销触
背景我们对于云上资源的部署,部分工作是通过控制台选择特定资源规格参数进行创建,还有一部分是使用 CLI或者 SDK 直接调用接口封装成定制化的平台来创建资源。但是随着企业数字化转型的加速,公司业务上云规模的持续增长和云资源的不断更新,同时又为了满足跨云基建的快速交付和容灾能力建设需求。我们也不可避免遇到行业内频繁提出的以下问题:效率: 对于创建单个种类的资源来说控制台创建或者定制化平台创
在数字化时代,用户身份验证成为保障业务安全和数据隐私的关键环节。当用户进行活体认证、实名认证及身份证认证时,企业往往需要与多个外部供应商合作,以确保认证过程的全面性、准确性和高效性。这一背景下,构建和优化认证路由显得尤为重要,它不仅关乎用户体验,更直接影响到企业的安全防线和服务质量。往昔回眸:独木难支的认证之路在数字世界的浩瀚征途中,活体认证作为守护APP业务安全的坚固防线,曾一度面临着独木桥般的
一、 背景随着公司信贷业务的多样性发展,信贷核心系统的复杂度越来越高,伴随而来的是对该系统的集成测试,要求也越来越高。基于当前的情况,主要痛点比较明显,分别如下: 1. 信贷核心自动化测试的稳定性受外部因素影响较大,比如配置、环境、数据等;2.
简介:在KOO分期的线下业务中,需要对很多关键业务指标进行实时监控,并需要根据一定的数据格式,通过企微机器人发往对应的企微群,因此KOO分期技术团队在KOO业务指标库之上,搭建了一套KOO分期业务指标监控系统,简称哨兵系统。模块组成哨兵系统主要分为6个主要部分组成:企业中台:主要提供相关接口,将结果推送给对应的企微群或者应用,比如:推送excel、图片、文本。决策中心:主要负责圈人、圈组织,每一次
背景随着公司站点的增多和国际化业务的发展,Apollo配置平台也呈现出多国家、多环境部署、各环境配置孤立操作、配置上下线无规范流程的情况。基于当前的情况,主要的痛点问题如下:国际化apollo未与主营apollo统一, 导致国际化Apollo生产配置可以随意变更,风险极大;用户在使用过程中需要同时打开6、7个平台进行操作,效率极低。由于缺乏配置上线流程规范,用户在各环境之间随意增加和删除配置,导致
背景随着数据安全意识的提高,企业越来越重视数据治理和权限管理。传统数仓大多对库级别进行读写授权,仅对人工标记的敏感库进行表级别授权,但由于敏感等级是由人为标记,错误率较高,故期望将权限申请流程细化到表级申请。本文将探讨信也科技如何将数据仓库的权限申请流程从库级别细化到表级别,并利用分类分级系统自动对数据表和字段进行敏感等级标记,实现不同敏感等级数据差异化审批流转,从而提高数据安全性。数据仓库权限管
概念数据迁移是指将数据从一个计算环境或存储系统移动到另一个计算环境或存储系统。随着公司业务的发展,出于成本优化、系统升级、分库分表、整合数据等原因。数据迁移工作在日常工作中会陆续出现。我们可以将数据迁移分成两个部分,第一部分是数据迁移,第二部分是写入数据切换数据迁移这一部分我们的目标是把旧数据库的数据同步到新的数据库,并且保证在线系统新产生的数据也会实时的同步到新数据库这里我们会遇到两种方式的选择
快速响应需求:App路由动态化探索在当前借款业务迅速发展且市场环境变化频繁的情况下,产品对于需求上线时间的要求也随之提高。为了能够快速响应紧急需求,借款研发团队一直在寻求降低需求对App发版依赖的方法。本文将深入探讨借款研发团队在完成App模块化及路由化的基础上,采取的一系列路由优化实践。这些优化实践旨在帮助团队提高应对变化的效率和能力,从而更快速地实现业务上线的目标。模块化和路由化的基础工作在应
概念聚合支付(云好付): 是集成各三方支付公司优势通道服务的平台,向公司各业务提供统一的金融相关基础服务,如银行卡签约、代扣、扫码支付、支付宝支付、微信支付、数字人民币支付、提现转账、信用卡还款等支付路由: 基于各种规则筛选出满足业务需求渠道的服务如下图:版本迭代1.0 版本优点短、平、快的满足业务诉求,快速接入支付公司通道并保证能用缺点1、监控报警漏报率较高,小流量通道故障无
原创 风度玉门 拍码场前言Apache Dubbo 是一款高性能的 Java RPC 框架,主要用于构建分布式服务。Dubbo 的架构设计包括多个层次,其中传输层和交换层是非常重要的两个组成部分。其中传输层(Transport)只负责对二进制数据的收发,交换层(Exchange)负责对Dubbo协议的编解码,然后调用Transport层的
原创 Pony 拍码场安卓原生开发的痛点自Android平台推出以来,Java一直是开发Android应用的主要语言。尽管后来Kotlin成为了谷歌主推的编程语言,Java仍然被广泛使用,在Android开发中仍占有重要地位。从github的数据看,用Java写的安卓项目仍然是Kotlin的2倍以上;我们的项目创建较早,大部分代码是用Java编写的,当我们用Java处理异步任务
原创 Chasen 拍码场前言自适应熔断与限流是在分布式系统中常用的机制,用于保护系统免受服务雪崩效应与突发流量影响。它能够根据系统的负载情况和性能指标自动调整限流策略,以确保系统能提供稳定可靠的服务,目前在业内已经有了不少的探索与实践。熔断限流使用场景限流限流主要的应用场景为应对流量激增的场景(如活动促销,外部流量攻击等)。如下图,当系统流量激增时,如不加以限制,可能会导致系
原创 Randy 拍码场问题背景去年底信息安全团队进行网络权限治理,要求所有应用实例使用静态IP,公网访问策略与静态IP绑定;之后实例重启时偶现“端口被占用”错误。通过分析总结应用日志,共有以下4种错误类型,实质都是端口被占用。// Netty框架Caused by: java.net.BindException: Address already in use// JettyF
1、前言继上回,小明自从面试的时候被问到如何进行索引调优后,小明通过学习数据库调优-索引篇一文掌握了索引和索引优化相关知识。做好准备后他又去一家新的公司面试......面试官:小明,你简历上写了你会数据库调优,你都是怎么调优的?小明:加索引,索引优化......面试官:除此之外还有么?索引优化有什么瓶颈吗?如果索引优化已经无法提高性能要怎么办呢?在上文中我们提到过为什么SQL会慢的原因之一有数据过
前言在日常运维中,总会遇到一些棘手的故障或问题,尤其面临多系统融合的兼容性或一些融合节点可能存在未知bug等方面,排错难度都会增加。本文将从一次小事件为入口进行延伸,将宿主机esxi基础系统的多融合节点故障的排错历程展开介绍,并结合排错过程介绍esxi基础系统稳定性所依赖的环境条件。 排错阶段一:故障初现,随机复现一、故障初现事件背景: 某职场一天下午现场反馈有几个
1 背景公司内部应用通过CAS提供鉴权和授权服务,实现了单点登录。如果是第三方站点也需要单点登录,那就需要考虑如下问题:不可以向第三方暴露账号密码限制授权第三方应用获取的用户信息和权限范围这个时候就需要OAuth2协议来帮助我们实现。2 OAuth2是什么OAuth(Open Authorization)是一个关于授权(authorization)的开放网络标准,允许用户授权第三方 应用访问他们存
1、背景随着各种法律法规和行业标准的出台和更新,企业或组织需要遵守各种安全合规性要求。网络安全策略管理需要符合这些要求,从而保障企业或组织的安全和合规性。网络安全策略管理需要涵盖企业或组织的整个网络生命周期,包括网络规划、设计、部署、运营和维护等各个环节。企业或组织需要采取全面的安全管理措施,从而保障网络安全的全方位防护和管理。信也网络运维团队制定和执行全面、科学的网络安全策略管理机制,从而保障网
本文详细分享了通过分析Druid组件源码,排查和解决了Druid连接偶发性失效问题的过程。
简介信也科技电销平台承载了公司400多坐席的日常外呼任务,随着公司业务规模不断增长,业务复杂度不断提升,营销模式需要多样化,营销流程需要更加灵活。为了更好地赋能业务、提高客户转化率,电销平台不断升级优化,迭代了1.0版本、2.0版本和目前正在使用的3.0版本,使坐席能够更加方便快捷,高效地和客户进行沟通,跟踪客户信息,降低坐席维护客户成本。电销系统的核心节点主要包含以下几个方面:名词解释入池:导入
很多行业都在“卷”,作为金融科技行业的信也,也不例外。除了卷云计算、大数据和人工智能这些非常有深度的技术以外,信也向着技术融合创新的方向逐步探索,做得更好一些,为用户提供更好的价值,才是卷的目的。
一、背景众所周知,单元测试是改善代码质量,提升研发交付品质的手段之一,能否写出好的单元测试用例,也是衡量我们研发专业性的标准之一。所以,想要成为一名合格的研发,就应该要有编写单测用例的习惯,也应充分认识到单元测试的重要性。但是,往往在时间紧、任务重、降本增效等既要又要还要的高标准要求下,如何有效提升单元测试覆盖率以及单元测试质量,值得我们思考。二、研发痛点时间紧、任务重、资源有限是我们项目开发过程
App的性能稳定是良好用户体验中至关重要的一环,而现实情况却是应用崩溃、卡顿、慢加载、页面白屏等问题,频频出现在用户的真实体验之中,成为影响业务转化的直接杀手。其中,客户端最为关注的应用性能体验指标是崩溃率和卡顿率。借款App在过去相当长一段时间内崩溃率都处在业界优秀的行列,但随着系统版本以及应用版本的不断迭代,崩溃率也逐渐出现了恶化。本文主要介绍下借款App团队在崩溃率攻坚战上所做的努力以及取得
作者: John 前言 2023年9月19日,oracle 宣布JDK21发布release版本,这是继JDK17之后的一个新的长期支持版本(LTS)。JDK 21 号称有数千项性能,稳定性和安全性的改进,今天我就来和大家简单说说不少Javaer翘首以盼的一项新技术:虚拟线程。看看它到底是什么,以及它到底能给我们带来什么改变?
作者: 随风 一、渠道API项目简介“渠道API”是一种通过流量平台直接获取用户流量的方式。传统上我们获取流量的方式有:投放广告,吸引用户下载主营APP进而使用借款服务;投放H5服务,用户通过不同渠道打开H5页面使用借款服务。“渠道API”的方式是指用户直接在流量方的原生APP中使用我们的借款服务,这就需要将我们的系统能力按照约定的规范封装成一套API接口提供给流量方服务端调用。这里的规
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号