金鱼哥RHCA回忆录:CL210红帽OpenStack平台架构--介绍容器服务

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 第一章 红帽OpenStack平台架构--介绍容器服务
🎹 个人简介:大家好,我是 金鱼哥,CSDN运维领域新星创作者,华为云·云享专家,阿里云社区·专家博主
📚个人资质: CCNA、HCNP、CSNA(网络分析师),软考初级、中级网络工程师、RHCSA、RHCE、RHCA、RHCI、ITIL😜
💬格言:努力不一定成功,但要想成功就必须努力🔥

🎈支持我:可点赞👍、可收藏⭐️、可留言📝


📜容器服务介绍

与红帽OpenStack平台的早期版本不同,后期版本使用容器来运行服务。容器化的体系结构确保每个OpenStack服务与主机隔离。主要的OpenStack服务都使用容器。容器是使用从Red Hat客户门户中提取的镜像构建的。容器服务管理由docker命令处理,替换systemd命令。底层Linux系统继续使用systemd命令。容器通过拉取新镜像并替换现有镜像来更新,并且使用Kolla工具集构建这些容器。


📜容器镜像和注册

Red Hat OpenStack Platform 12是第一个实现了容器化控制平面的发行版。每个服务容器运行一个独立的堆栈,不依赖于其他容器。运行容器化OpenStack服务的一些主要好处如下所述:

使用容器化控制平面服务的好处


📑稳定

因为每个服务容器都是隔离的,不依赖于其他容器,所以它减少了单个服务失败时的级联失败。


📑安全

容器镜像在设计上是不可变的。通过从原始镜像重新部署,可以很容易地重新构建损坏或修改的容器。


📑生命周期管理

管理这些服务容器的生命周期很容易,因为它们是独立的单元。因为可以独立地对每个服务容器进行升级和回滚,所以您不必担心在升级或回滚时破坏依赖关系。


📑服务位置

管理员可以根据需要在主机之间移动服务容器。


📑可伸缩性

每个服务容器都可以快速而轻松地伸缩。目前,由于对主机文件系统和网络的潜在依赖关系,只能在单个节点上放置一个服务容器实例。


推荐使用在undercloud上确认的本地仓库方法。在安装undercloud时,镜像仓库在端口8787上被确认。该部署同步来自远程仓库的镜像,并将它们推到docker-distribution服务。

(undercloud) [stack@director ~]$ systemctl status docker-distribution.service 
● docker-distribution.service - v2 Registry server for Docker
   Loaded: loaded (/usr/lib/systemd/system/docker-distribution.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-10-12 16:12:56 UTC; 1 day 10h ago
 Main PID: 1418 (registry)
    Tasks: 7
   CGroup: /system.slice/docker-distribution.service
           └─1418 /usr/bin/registry serve /etc/docker-distribution/registry/config.yml

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

undercloud 仓库中填充了overcloud中包含的每个服务所需的镜像。在overcloud部署期间,将从这个本地仓库中心提取镜像。使用本地仓库中心可以加速部署并缓解网络拥塞,但是提供了有限的生命周期管理。在没有人工干预的情况下,镜像在部署的overcloud的生命周期中保持不变。


📜填充本地容器仓库

默认情况下,使用/usr/share/openstack-tripleo-common-containers/containers-imaqes/overcloud_ containers.yaml文件中定义的远程仓库提取容器镜像。要使用undercloud作为本地容器仓库,需要生成一个模板文件,其中包含overcloud部署所需的所有容器镜像,从而从远程仓库提取镜像。使用以下命令生成模板文件:

(undercloud) [stack@director ~]$ openstack overcloud container image prepare \
-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
--namespace=registry.access.redhat.com/rhosp13 \
--prefix=openstack- \
--tag-from-label {version}-{release} \
--output-images-file /home/stack/local_registry_images.yaml

local_registry_images.yaml文件上传容器镜像到本地容器仓库。使用openstack overcloud image upload命令来上传容器镜像。使用以下命令列出上传到本地仓库的容器镜像:

(undercloud) [stack@director -]$ docker images --format="{{.Repository}}"
172.25.249.200:8787/rhosp13/openstack-neutron-server-ovn
172.25.249.200:8787/rhosp13/openstack-neutron-metadata-agent-ovn
172.25.249.200:8787/rhosp13/openstack-rabbitmq
172.25.249.200:8787/rhosp13/openstack-cinder-api
172.25.249.200:8787/rhosp13/openstack-ceilometer-central
…………

📜容器的命令

所有容器命令都需要root权限。(因为是用root权限运行)

使用docker version命令查找正在使用的docker版本。同时显示客户端和服务器版本

docker version
(undercloud) [stack@director ~]$ docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-68.gitdded712.el7.x86_64
 Go version:      go1.9.2
 Git commit:      dded712/1.13.1
 Built:           Tue Jun 12 18:30:09 2018
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-68.gitdded712.el7.x86_64
 Go version:      go1.9.2
 Git commit:      dded712/1.13.1
 Built:           Tue Jun 12 18:30:09 2018
 OS/Arch:         linux/amd64
 Experimental:    false

📑docker ps

docker ps命令列出了所有的容器。注意,容器可能同时存在于控制节点和计算节点上。您可以使用grep命令来优化搜索,也可以使用--format选项和docker ps命令来生成可读性更好的输出。选项-a列出了所有容器。默认情况下,只列出正在运行的容器。

[heat-admin@controller0 ~]$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/json: dial unix /var/run/docker.sock: connect: permission denied
[heat-admin@controller0 ~]$ sudo docker ps
CONTAINER ID        IMAGE                                                                  COMMAND                  CREATED             STATUS                    PORTS               NAMES
93d806a63af1        172.25.249.200:8787/rhosp13/openstack-manila-share:pcmklatest          "/bin/bash /usr/lo..."   35 hours ago        Up 35 hours                                   openstack-manila-share-docker-0
bb5228ae1d0a        172.25.249.200:8787/rhosp13/openstack-cinder-volume:pcmklatest         "/bin/bash /usr/lo..."   35 hours ago        Up 35 hours                                   openstack-cinder-volume-docker-0
9314ea858667        172.25.249.200:8787/rhosp13/openstack-ovn-northd:latest                "/bin/bash /usr/lo..."   35 hours ago        Up 35 hours                                   ovn-dbs-bundle-docker-0
b5b9a671dbbd        172.25.249.200:8787/rhosp13/openstack-haproxy:pcmklatest               "/bin/bash /usr/lo..."   35 hours ago        Up 35 hours                                   haproxy-bundle-docker-0
28bfeb90f1b5        172.25.249.200:8787/rhosp13/openstack-redis:pcmklatest                 "/bin/bash /usr/lo..."   35 hours ago        Up 35 hours                                   redis-bundle-docker-0
9b470324ad68        172.25.249.200:8787/rhosp13/openstack-mariadb:pcmklatest               "/bin/bash /usr/lo..."   35 hours ago        Up 35 hours                                   galera-bundle-docker-0
2c297a0596f3        172.25.249.200:8787/rhceph/rhceph-3-rhel7:latest                       "/entrypoint.sh"         35 hours ago        Up 35 hours                                   ceph-mgr-controller0
40fd01c5c03e        172.25.249.200:8787/rhceph/rhceph-3-rhel7:latest                       "/entrypoint.sh"         35 hours ago        Up 35 hours                                   ceph-mds-controller0
66a57bd58a9b        172.25.249.200:8787/rhceph/rhceph-3-rhel7:latest                       "/entrypoint.sh"         35 hours ago        Up 35 hours                                   ceph-mon-controller0
…………

[heat-admin@controller0 ~]$ sudo docker ps | grep nova
5bfcf5bbf99b        172.25.249.200:8787/rhosp13/openstack-nova-api:latest                  "kolla_start"            24 months ago       Up 35 hours                                   nova_metadata
457d4ace92a0        172.25.249.200:8787/rhosp13/openstack-nova-api:latest                  "kolla_start"            24 months ago       Up 35 hours (unhealthy)                       nova_api
3a98c43a04f7        172.25.249.200:8787/rhosp13/openstack-nova-scheduler:latest            "kolla_start"            24 months ago       Up 35 hours (unhealthy)                       nova_scheduler
35f522ad5783        172.25.249.200:8787/rhosp13/openstack-nova-novncproxy:latest           "kolla_start"            24 months ago       Up 35 hours (unhealthy)                       nova_vnc_proxy
eb5d4133cd70        172.25.249.200:8787/rhosp13/openstack-nova-consoleauth:latest          "kolla_start"            24 months ago       Up 35 hours (unhealthy)                       nova_consoleauth
a39f81aa4a8b        172.25.249.200:8787/rhosp13/openstack-nova-api:latest                  "kolla_start"            24 months ago       Up 35 hours                                   nova_api_cron
8ffb511c9318        172.25.249.200:8787/rhosp13/openstack-nova-conductor:latest            "kolla_start"            24 months ago       Up 35 hours (unhealthy)                       nova_conductor
53d487974cc1        172.25.249.200:8787/rhosp13/openstack-nova-placement-api:latest        "kolla_start"            24 months ago       Up 35 hours

[heat-admin@controller0 ~]$ sudo docker ps -a --format="{{.Names}}\t{{.Status}}" | grep nova
nova_api_discover_hosts    Exited (0) 24 months ago
nova_metadata    Up 35 hours
nova_api    Up 35 hours (unhealthy)
nova_scheduler    Up 35 hours (unhealthy)
nova_vnc_proxy    Up 35 hours (unhealthy)
nova_consoleauth    Up 35 hours (unhealthy)
nova_api_cron    Up 35 hours
nova_conductor    Up 35 hours (unhealthy)
nova_db_sync    Exited (0) 24 months ago
nova_api_ensure_default_cell    Exited (0) 24 months ago
nova_api_map_cell0    Exited (0) 24 months ago
nova_placement    Up 35 hours
nova_api_db_sync    Exited (0) 24 months ago
nova_placement_init_log    Exited (0) 24 months ago
nova_metadata_init_log    Exited (0) 24 months ago
nova_api_init_logs    Exited (0) 24 months ago

注意:当特定服务启动、执行其必要的任务,然后退出时,会出现退出Exited状态。它不会推断该服务存在任何类型的问题。状态为Exited的容器留在内存中,以便可以访问它们的日志文件和配置。


--filter选项用于减少docker ps命令的输出。有许多参数可以与筛选器选项一起使用。示例参数包括名称、运行状况和状态。为了更好地管理输出,可以组合使用--filter和--format选项。

[heat-admin@controller0 ~]$ sudo docker ps --filter status=running --format="{{.ID}}\t{{.Names}}\t{{.Status}}"
93d806a63af1    openstack-manila-share-docker-0    Up 35 hours
bb5228ae1d0a    openstack-cinder-volume-docker-0    Up 35 hours
9314ea858667    ovn-dbs-bundle-docker-0    Up 35 hours
b5b9a671dbbd    haproxy-bundle-docker-0    Up 35 hours
28bfeb90f1b5    redis-bundle-docker-0    Up 35 hours
9b470324ad68    galera-bundle-docker-0    Up 35 hours
2c297a0596f3    ceph-mgr-controller0    Up 36 hours
40fd01c5c03e    ceph-mds-controller0    Up 36 hours
66a57bd58a9b    ceph-mon-controller0    Up 36 hours
………

[heat-admin@controller0 ~]$ sudo docker ps --filter status=running --format="{{.ID}}\t{{.Names}}\t{{.Status}}" | grep horizon
0f4f1f8f772a    horizon    Up 36 hours

📑docker stats

docker stats命令显示特定容器的资源使用情况的实时统计数据。可以将stats命令与Linux平台上的top命令进行比较。您可以将一个空格分隔的容器列表传递给docker stats命令,以查询多个容器。可以查询状态为已停止和已退出的容器,但不会返回数据。

[root@demo -]# docker stats nova_api keystone

📑docker images

使用docker images命令来显示镜像仓库名称。所有可用镜像的大小、tags、镜像id和创建日期。添加image-name选项,以只显示来自指定的仓库。还可以使用--format选项定制输出。latest 标记会自动附加到每个仓库镜像的最高版本。

[heat-admin@controller0 ~]$ sudo docker images
REPOSITORY                                                      TAG                 IMAGE ID            CREATED             SIZE
172.25.249.200:8787/rhosp13/openstack-cinder-api                latest              f7d7cbcfa600        2 years ago         991 MB
172.25.249.200:8787/rhosp13/openstack-cinder-volume             latest              e7a690608f11        2 years ago         1.02 GB
172.25.249.200:8787/rhosp13/openstack-cinder-volume             pcmklatest          e7a690608f11        2 years ago         1.02 GB
172.25.249.200:8787/rhosp13/openstack-cinder-scheduler          latest              6d0b487a321a        2 years ago         908 MB
172.25.249.200:8787/rhosp13/openstack-glance-api                latest              bc037202b6b2        2 years ago         887 MB
[heat-admin@controller0 ~]$ sudo docker images 172.25.249.200:8787/rhosp13/openstack-cinder-api
REPOSITORY                                         TAG                 IMAGE ID            CREATED             SIZE
172.25.249.200:8787/rhosp13/openstack-cinder-api   latest              f7d7cbcfa600        2 years ago         991 MB
[heat-admin@controller0 ~]$ sudo docker images 172.25.249.200:8787/rhosp13/openstack-cinder-api --format="{{.Repository}}\t{{.Tag}}" 
172.25.249.200:8787/rhosp13/openstack-cinder-api    latest

📑docker inspect

docker inspect命令检查容器的配置。结果以JSON格式呈现。可以从JSON输出中提取任何字段。使用jq命令过滤JSON输出。

[root@controller0 ~]# docker inspect horizon
[
    {
        "Id": "0f4f1f8f772aac108cb094f33d18d370947a1a25e271c23f82258da7cb7ccf30",
        "Created": "2018-10-23T15:06:03.128216544Z",
        "Path": "kolla_start",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 5075,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2020-10-12T16:20:38.841251452Z",
            "FinishedAt": "2020-10-12T16:19:27.369012909Z"
        },
…………
[root@controller0 ~]# docker inspect horizon | jq .[0].Mounts
[
  {
    "Propagation": "rprivate",
    "RW": false,
    "Mode": "ro",
    "Destination": "/etc/ssh/ssh_known_hosts",
    "Source": "/etc/ssh/ssh_known_hosts",
    "Type": "bind"
  },
…………

# 要显示hosts path实例参数的值,请使用--format选项。
[root@controller0 ~]# docker inspect --format="{{.HostsPath}}"  horizon
/etc/hosts

📑docker logs

docker logs命令显示STDOUT的启动输出。此命令仅适用于由日志记录驱动程序启动的容器。docker 1ogs命令支持一系列选项。--since选项显示在给定日期之后生成的容器日志。--tail选项显示日志文件末尾指定的行数。

[root@controller0 ~]# docker logs horizon
[Mon Oct 12 16:23:49.569171 2020] [so:warn] [pid 1] AH01574: module systemd_module is already loaded, skipping
[Mon Oct 12 16:23:49.570745 2020] [so:warn] [pid 1] AH01574: module cgi_module is already loaded, skipping
[Mon Oct 12 16:23:49.571331 2020] [so:warn] [pid 1] AH01574: module wsgi_module is already loaded, skipping
[Mon Oct 12 16:23:49.589953 2020] [alias:warn] [pid 1] AH00671: The Alias directive in /etc/httpd/conf.d/autoindex.conf at line 21 will probably never match because it overlaps an earlier Alias.

注意:当容器被停止时,它们仍然留在内存中。此行为允许管理员在容器停止运行后对容器日志进行故障排除。


📑docker exec

要访问容器,使用docker exec命令启动/bin/bash。这提供了一个bash提示符,可以从该提示符直接在容器本身中运行命令。容器必须已经启动并运行,才能在其中执行进一步的命令。暂停或停止的容器将返回一个错误。该命令在容器的默认目录中执行。或者,您可以在容器中以非交互方式运行命令。

docker exec命令需要-i或交互式选项。--detach选项在后台运行该命令。要设置环境变量,请使用--env选项。一起运行一串命令,使用shell构造。例如docker-compose exec sh -c ' && && ’

[root@controller0 ~]# docker exec -it keystone /bin/bash
()[root@controller0 /]# ls
bin   dev  home  lib64  mnt        opt   root  run_command  srv  tmp  var
boot  etc  lib   media  openstack  proc  run   sbin         sys  usr

[root@controller0 ~]# docker exec -t keystone /openstack/healthcheck
{"versions": {"values": [{"status": "stable", "updated": "2018-02-28T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.10", "links": [{"href": "http://controller0.internalapi.overcloud.example.com:5000/v3/", "rel": "self"}]}, {"status": "deprecated", "updated": "2016-08-04T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "http://controller0.internalapi.overcloud.example.com:5000/v2.0/", "rel": "self"}, {"href": "https://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}]}}
300 172.24.1.1:5000 0.021 seconds

使用docker命令stop、start和restart来控制容器的运行。使用docker ps命令来验证容器的状态。

[root@controller0 ~]# docker stop horizon
[root@controller0 ~]# docker ps -a --format="{{.Names}}\t{{.Status}}" | grep horizon
horizon    Up About an hour
horizon_fix_perms    Exited (0) 24 months ago

📜日志文件和配置文件

📑日志文件位置

以前版本的Red Hat OpenStack将log文件存储在/var/log/service-name中,例如/var/log/cinder。在容器化架构中,日志文件存储在/var/log/containers/service-name中,例如/var/log/containers/ cinder。

注意:在容器化架构中,/var/log/service日志目录仍然存在,但是除了名为readme.txt的文件外,这些目录都是空的。


📑配置文件位置

与日志文件一样,配置文件也改变了位置。以前它们存储在/ etc/service中。在容器化体系结构中,配置存储在 /var/lib/config-data/puppet-generated/service-name目录中。

注意:/etc/service目录仍然存在,并且包含该服务的配置文件。但是,重要的是要知道,在这些配置文件中所做的任何更改都不会改变docker容器的配置。所有容器配置更改必须使用/ var/lib/config-data/puppet-generated/service/etc/service中的配置文件进行。


📜课本练习

[student@workstation ~]$ lab architecture-containerization setup 
Setting up workstation for lab exercise work:

 . Verifying node reachable: director..........................  SUCCESS
 . Verifying node reachable: controller0.......................  SUCCESS

章节内容已有相关演示,就不再进行操作。


💡总结

RHCA认证需要经历5门的学习与考试,还是需要花不少时间去学习与备考的,好好加油,可以噶🤪。

以上就是【金鱼哥】对 第一章 红帽OpenStack平台架构--介绍容器服务 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。

💾 红帽认证专栏系列:
RHCSA专栏: 戏说 RHCSA 认证
RHCE专栏: 戏说 RHCE 认证
此文章收录在RHCA专栏: RHCA 回忆录

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点。

如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
17天前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
59 1
|
14天前
|
机器学习/深度学习 自然语言处理 搜索推荐
大厂 10Wqps智能客服平台,如何实现架构演进?
40岁老架构师尼恩,凭借深厚的架构功力,指导众多小伙伴成功转型大模型架构师,实现职业逆袭。尼恩的《LLM大模型学习圣经》系列PDF,从基础理论到实战应用,全面覆盖大模型技术,助力读者成为大模型领域的专家。该系列包括《从0到1吃透Transformer技术底座》《从0到1吃透大模型的基础实操》《从0到1吃透大模型的顶级架构》等,内容详实,适合不同水平的读者学习。此外,尼恩还分享了多个智能客服平台的实际案例,展示了大模型在不同场景中的应用,为读者提供了宝贵的实践经验。更多技术资料和指导,请关注尼恩的《技术自由圈》公众号。
大厂 10Wqps智能客服平台,如何实现架构演进?
|
22天前
|
消息中间件 缓存 Java
亿级流量电商平台微服务架构详解
【10月更文挑战第2天】构建一个能够处理亿级流量的电商平台微服务架构是一个庞大且复杂的任务,这通常涉及到多个微服务、数据库分库分表、缓存策略、消息队列、负载均衡、熔断降级、分布式事务等一系列高级技术和架构模式。
71 3
|
2月前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
2月前
|
缓存 物联网 数据库
如何帮助我们改造升级原有架构——基于TDengine 平台
一、简介 TDengine 核心是一款高性能、集群开源、云原生的时序数据库(Time Series Database,TSDB),专为物联网IoT平台、工业互联网、电力、IT 运维等场景设计并优化,具有极强的弹性伸缩能力。同时它还带有内建的缓存、流式计算、数据订阅等系统功能,能大幅减少系统设计的复杂度,降低研发和运营成本,是一个高性能、分布式的物联网IoT、工业大数据平台。 二、TDengine 功能与组件 TDengine 社区版是一开源版本,采用的是 AGPL 许可证,它具备高效处理时序数据所需要的所有功能,包括: SQL 写入、无模式写入和通过第三方工具写入 S标准 SQL 查
71 13
|
2月前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
67 6
|
2月前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
|
3月前
|
编解码 Linux 数据安全/隐私保护
Linux平台x86_64|aarch64架构如何实现轻量级RTSP服务
为满足在Linux平台(x86_64与aarch64架构)上实现轻量级RTSP服务的需求,我们开发了一套解决方案。该方案通过调用`start_rtsp_server()`函数启动RTSP服务,并设置端口号及认证信息。支持AAC音频和H.264视频编码,可推送纯音频、纯视频或音视频流。此外,还支持X11屏幕采集、部分V4L2摄像头采集、帧率/GOP/码率调整、摄像头设备选择与预览等功能。对于音频采集,支持alsa-lib和libpulse接口。整体设计旨在提供150-400ms的低延迟体验,适用于多种应用场景。
|
4月前
|
消息中间件 负载均衡 数据管理
微服务架构在电商平台中的应用与实践
在现代电商平台的开发和运维中,微服务架构成为了提升系统灵活性和可扩展性的关键技术。本篇文章从实践出发,深入探讨了微服务架构在电商平台中的具体应用,包括服务拆分策略、通信机制、数据管理、以及常见的挑战和解决方案。通过真实的案例分析和代码示例,帮助读者全面了解微服务架构的优势和实施方法,提供在实际项目中的实践指导。
|
4月前
|
存储 分布式计算 Hadoop
阿里巴巴飞天大数据架构体系与Hadoop生态系统的深度融合:构建高效、可扩展的数据处理平台
技术持续创新:随着新技术的不断涌现和应用场景的复杂化,阿里巴巴将继续投入研发力量推动技术创新和升级换代。 生态系统更加完善:Hadoop生态系统将继续扩展和完善,为用户提供更多元化、更灵活的数据处理工具和服务。

热门文章

最新文章

相关产品

  • 容器计算服务