微服务中的分布式锁方案 软件架构

微服务中的分布式锁方案

最近在工作中碰到一个分布式锁问题,这个问题之前做项目的过程也搞过,不过没有深入整理,这个周末有时间刚好整理一把。 为什么需要分布式锁? 在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰进而保证一致性,这个时候,便需要使用到分布式锁。 常见的实现方案 基于数据库实现 数据表方案 最容...
阅读全文
费了好大心思熬夜整理了一篇Java泛型解释,看不懂来打我 Java

费了好大心思熬夜整理了一篇Java泛型解释,看不懂来打我

什么是泛型(先理解是个啥) 在学习Java基础的过程中,泛型绝对算得上是一个比较难理解的知识点,尤其对于初学者而言,而且就算是已经有基础的Java程序员,可能对泛型的理解也不是那么透彻,属于那种看了明白,时间长了就忘的那种,究其根本,还是对泛型不够理解。大部分人对泛型的认识:“ 基础知识,但是比较模糊 ” 为啥要有泛型 泛型这个概念是在Java1.5提出来的,之前是没有的,那为什么...
阅读全文
OpenJDK 编译调试指南(Ubuntu 16.04 + MacOS 10.15) Java

OpenJDK 编译调试指南(Ubuntu 16.04 + MacOS 10.15)

本篇文章主要介绍在 MacOS 系统和 Ubuntu 系统上如何编译 OpenJDK 项目代码,并使用 IDE 工具 JetBrains CLion (下文简称 CLion )来运行/调试 OpenJDK 。文中仅包含两种操作系统的特定版本( MacOS 10.15 和 Ubuntu 16.04 )下的方法,不同版本下可能会略有差异。希望对读者有一定的参考价值。 总体来说,编译 OpenJ...
阅读全文
ConcurrentHashMap底层原理? Java

ConcurrentHashMap底层原理?

本文为面试必备系列篇,不深入叙述,具体细节可自行查询。 可能会问的问题 1、用过ConcurrentHashMap吗? 2、为什么要用ConcurrentHashMap? 3、HashMap与HashTable的区别,引出ConcurrentHashMap… 4、HashMap在多线程环境下存在线程安全问题,那你一般都是怎么处理这种情况的? 5、能说一下Concurrent...
阅读全文
三阶段之一:架构介绍及环境部署 软件架构

三阶段之一:架构介绍及环境部署

一、架构介绍及环境部署 (一)了解集群架构服务器组成 基本架构组成:(用于让用户进行访问) 1、前端服务部分: 1)顾客-用户 是一个访问者,请求访问网站页面 2)保安-防火墙设备 对访问架构用户进行策略控制,正常访问网站用户,可以放行进入;非法人员(黑客)访问网站,禁止进入 3)对讲机-交换机(外网) 提供架构中服务器相互通讯交流的需求(...
阅读全文
逆全球化时代的非信任网络 软件架构

逆全球化时代的非信任网络

疫情导致全球化退步,更有美日等国公开鼓励自家企业撤离中国,逆全球化的趋势大有风雨欲来之势。毫无疑问,逆全球化,不仅会对中国,同样对世界其他国家,带来巨大伤害!不可不察! 庆幸的是,通过几十年发展,全球化贸易与产业链早已非常成熟,而完全去全球化,至少短期内是不现实的。最富盛名的投资银行之一,摩根士丹利就撰文明确表示,疫情反而会放缓去全球化,特别企业迁移出中国的速度。无独有偶,在美国开厂的著名汽车...
阅读全文
用图知识库设计有状态云原生应用程序架构 软件架构

用图知识库设计有状态云原生应用程序架构

本文要点: “状态是好的”;实时数据能够支持响应式应用程序,并协调端到端流程。 许多企业用例面临的障碍是缺乏对有状态云原生应用程序的支持。 图知识库是一个古老的概念,现在又被重新捡了起来,用来建模复杂的分布式域。 将高级抽象与云原生设计原则相结合,可提供高效的“上下文即服务”,作为无状态服务的补充。 基于图知识的系统可以将云原生服务组合到事件驱动的数据流程中。 ...
阅读全文
SSDLC实践:安全设计评审 软件架构

SSDLC实践:安全设计评审

前言 软件设计处于软件工程中的核心地位,开发不管采用何种开发模式,都离不开软件设计。当需求分析完成后进入设计阶段,设计的好坏直接影响着软件的质量。好的设计方案能够让团队有一个清晰的愿景和路线图,作为技术领导力让整个团队更容易协作。设计方案的制定需要多方参与,需要网络工程师、架构师、数据库管理员、安全等角色多方评审,确保功能需求、非功能需求和约束能够被满足,好的设计是开发出高质量软件的基础。 ...
阅读全文
Loading...