Microservices 微服务架构
微服务
概念
微服务是一种软件开发技术——面向服务的体系结构(SOA)体系结构样式的变体,它将应用程序构造为松散耦合服务的集合。
在微服务体系结构中,服务是细粒度的,协议是轻量级的。
将应用程序分解为不同的更小的服务的好处是,它提高了模块化,使应用程序更容易理解、开发和测试,并对体系结构的侵蚀更有弹性。
通过允许小型自治团队独立开发、部署和扩展各自的服务,实现了开发的并行化。
它...
2018-09-06 00:16:17 |
Architecture
Serverless
今天大多数公司在开发应用程序并将其部署在服务器上的时候,无论是选择公有云还是私有的数据中心,都需要提前了解究竟需要多少台服务器、多大容量的存储和数据库的功能等。并需要部署运行应用程序和依赖的软件到基础设施之上。假设我们不想在这些细节上花费精力,是否有一种简单的架构模型能够满足我们这种想法?
这个答案已经存在,这就是今天软件架构世界中新鲜但是很热门的一个话题——Serverless(无服务器...
2018-09-05 23:56:59 |
Architecture
Jetty 入门使用
Jetty
Jetty 提供了一个Web服务器和 javax.servlet 容器,以及对HTTP/2、WebSocket、OSGi、JMX、JNDI、JAAS和许多其他集成的支持。
这些组件是开源的,可用于商业用途和分发。
特性
全功能的,基于标准的
开放源代码和商业用途
灵活和可扩展
占用空间小
...
2018-09-05 07:48:38 |
Container
jetty architecture jetty 架构介绍
概述
Jetty在设计各个组件类时,都遵守大量的规范,这样整个Jetty源码是高度规范的
jetty的口号“Don’t deploy your application in Jetty, deploy Jetty in your application.”
具体规范
骨架抽象类:为每个组件接口实现一个基础的骨架类,将一些公用的操作抽象到上层,复用代码(如AbstractHandler...
2018-09-05 07:48:38 |
Container
Docker 入门介绍
配置的难题
软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来?
环境配置如此麻烦,换一台机器,就要重来一次,旷日费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。
虚拟机
虚拟机(virtual machine)就是带环境安装的一种解决方案。它
可以在一种操作系...
2018-09-05 03:45:07 |
Container
Servlet
Servlet
Servlet 是用于扩展和增强Web服务器的Java平台技术。
servlet提供了一种基于组件的、独立于平台的方法来构建基于web的应用程序,而不受CGI程序的性能限制。与专有的服务器扩展机制(如Netscape服务器API或Apache模块)不同,servlet是独立于服务器和平台的。这使您可以自由地为您的服务器、平台和工具选择“最佳品种”策略。
servlet可...
2018-09-05 03:45:07 |
Protocol
Tomcat
Tomcat
Apache Tomcat® 是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。
由于Tomcat本身也内含了一个HTTP...
2018-09-05 03:45:07 |
Container
Distributed ID
需求
几乎所有的业务系统,都有生成一个唯一记录标识的需求。
这就引出了记录标识生成(也就是上文提到的三个XXX-id)的两大核心需求:
全局唯一
趋势有序
这也是本文要讨论的核心问题:如何高效生成趋势有序的全局唯一ID。
UUID
策略
UUID/GUID 生成的唯一标识。
优缺点
优点
本地调用,全局唯一。
缺...
2018-09-05 00:53:10 |
Distributed